Reverse engineering feature-aware commits from software product-line repositories

Erstveröffentlichung
2023-03-23Authors
Bormann, Lukas
Advisor
Bittner, Paul MaximilianTinnes, Christof
Referee
Thüm, Thomas
Abschlussarbeit (Bachelor)
Faculties
Fakultät für Ingenieurwissenschaften, Informatik und PsychologieInstitutions
Institut für Softwaretechnik und ProgrammiersprachenAbstract
Version control systems such as Git and Subversion are widely used. Even though software often has to allow for variability, the commonly used version control systems do not provide functionality to handle variability explicitly in a commit. This lack of functionality for software with high variability, like software product lines, results in time intensive development processes, reduced clarity of the commit history, and no possibility to propagate or revert individual changes to features. In this thesis, we introduce our operator FeatureSplit which addresses these problems, by reducing the complexity of the commit history of software product line repositories. FeatureSplit achieves complexity reduction through separation and regrouping of committed changes by feature. In an empirical evaluation, we show that the resulting feature-aware commits simplify the managing and referencing of variability in version control system. FeatureSplit simplified on average 88% of commits in the evaluated repositories.
Date created
2022
Subject headings
[GND]: Domain engineering | Regelungssystem[LCSH]: Software product line engineering
[Free subject headings]: Version control system | Software product-line | Variation control system
[DDC subject group]: DDC 004 / Data processing & computer science
Metadata
Show full item recordDOI & citation
Please use this identifier to cite or link to this item: http://dx.doi.org/10.18725/OPARU-47892
Bormann, Lukas (2023): Reverse engineering feature-aware commits from software product-line repositories. Open Access Repositorium der Universität Ulm und Technischen Hochschule Ulm. http://dx.doi.org/10.18725/OPARU-47892
Citation formatter >