Samenvatting
Developers use version-control systems and software-hosting platforms to manage their software systems. They rely on the provided branching and forking mechanisms to implement new features, fix bugs, and develop customized system variants. A particular problem arises when forked variants are not re-integrated (i.e., merged), but kept and co-evolved as individual systems. This can cause maintenance overheads, due to change propagation and limitations in simultaneously managing variations in space (variants) and time (revisions). Thus, most organizations decide to integrate their set of variants into a single platform at some point, and several techniques have been proposed to semi-automate such an integration. However, existing techniques usually consider only a single revision of each variant and do not merge the revision histories, disregarding that not only variants (i.e., configuring the features of the system) but also revisions (i.e., checking out specific versions of the features) are important. We propose an automated technique, VariantInc, for analyzing, pruning, and integrating variants of a system that also merges the revision history of each variant into the resulting platform (i.e., using presence conditions). To validate VariantInc, we employed it on 160 open-source C systems of various sizes (i.e., number of forks, revisions, source code). The results show that VariantInc works as intended, and allows developers or researchers to automatically integrate variants into a platform as well as to perform software analyses.
Originele taal-2 | Engels |
---|---|
Titel | SPLC '23 |
Subtitel | Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A |
Redacteuren | Paolo Arcaini, Maurice H. ter Beek, Gilles Perrouin, Iris Reinhartz-Berger, Miguel R. Luaces, Christa Schwanninger, Shaukat Ali, Mahsa Varshosaz, Angelo Gargantini, Stefania Gnesi, Malte Lochau, Laura Semini, Hironori Washizaki |
Uitgeverij | Association for Computing Machinery, Inc |
Pagina's | 129-140 |
Aantal pagina's | 12 |
ISBN van elektronische versie | 979-8-4007-0091-0 |
DOI's | |
Status | Gepubliceerd - 28 aug. 2023 |
Evenement | 27th ACM International Systems and Software Product Line Conference - Tokyo, Japan Duur: 28 aug. 2023 → 1 sep. 2023 |
Congres
Congres | 27th ACM International Systems and Software Product Line Conference |
---|---|
Verkorte titel | SPLC |
Land/Regio | Japan |
Stad | Tokyo |
Periode | 28/08/23 → 1/09/23 |
Financiering
The research reported in this paper has been partially supported by the German Research Foundation (DFG) projects EXPLANT (LE 3382/2-3, SA 465/49-3) [40] and VariantSync (TH 2387/1-1) [30].
Financiers | Financiernummer |
---|---|
Deutsche Forschungsgemeinschaft | LE 3382/2-3, TH 2387/1-1, SA 465/49-3 |