Michael Ratzenböck, Paul Grünbacher, Wesley Klewerton Guez Assuncao, Alexander Egyed, Lukas Linsbauer,
"Refactoring Product Lines by Replaying Version Histories"
, in Paolo Arcaini and Xavier Devroey and Alessandro Fantechi: VaMoS '22: 16th International Working Conference on Variability Modelling of Software-Intensive Systems, Florence, Italy, February 23 - 25, 2022, Serie Communications in Computer and Information Science, Vol. 1633, Nummer 6, ACM, Seite(n) 8:1-8:10, 4-2022, ISBN: 978-1-4503-9206-8, ISSN: 0164-1212
Original Titel:
Refactoring Product Lines by Replaying Version Histories
Sprache des Titels:
Englisch
Original Buchtitel:
VaMoS '22: 16th International Working Conference on Variability Modelling of Software-Intensive Systems, Florence, Italy, February 23 - 25, 2022
Original Kurzfassung:
When evolving software product lines, new features are added over time and existing features are revised. Engineers also decide to merge different features or split features in other cases. Such refactoring tasks are difficult when using manually maintained feature-to-code mappings. Intensional version control systems such as ECCO overcome this issue with automatically computed feature-to-code mappings. Furthermore, they allow creating variants that have not been explicitly committed before. However, such systems are still rarely used compared to extensional version control systems like Git, which keep track of the evolution history by assigning revisions to states of a system. This paper presents an approach combining both extensional and intensional version control systems, which relies on the extensional version control system Git to store versions. Developers selectively tag existing versions to describe the evolution at the level of features. Our approach then automatically replays the evolution history to create a repository of the intensional variation control system ECCO. The approach contributes to research on refactoring features of existing product lines and migrating existing systems to product lines. We provide an initial evaluation of the approach regarding correctness and performance based on an existing system.
Sprache der Kurzfassung:
Englisch
Veröffentlicher:
ACM
Serie:
Communications in Computer and Information Science