Abstract
Developers use the forking mechanisms of modern social-coding platforms to evolve and maintain their systems. Using such mechanisms often leads to a larger number of independent variants with individual features or bug fixes that the developers may want to merge after a longer period of co-evolution. At this point, they may have forgotten (or never had) knowledge about differences between the variants. Tackling this problem, we built on the idea of on-demand documentation to develop a technique that automatically extracts and presents information for merging a class from two forks. We implemented our technique as a prototype called DSDGen and evaluated it through an experimental simulation with 10 students who should comprehend two real -world merge requests. Using DSDGen instead of code diffs only, more of the students could correctly comprehend the merges (6 / 10 versus 2 / 10) within a similar time. The students actively inspected the additional information provided by DSDGen and used it to comprehend the differences between the forked classes. So, DSDGen can help developers recover information for comprehending the differences caused by fork co-evolution during merges, with our results indicating opportunities for future research and improvements.
Original language | English |
---|---|
Title of host publication | SPLC '23 |
Subtitle of host publication | Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B |
Editors | Paolo Arcaini, Maurice H. ter Beek, Gilles Perrouin, Iris Reinhartz-Berger, Ivan Machado, Silvia Regina Vergilio, Rick Rabiser, Tao Yue, Xavier Devroey, Mónica Pinto, Hironori Washizaki |
Publisher | Association for Computing Machinery, Inc |
Pages | 47-56 |
Number of pages | 10 |
ISBN (Electronic) | 979-8-4007-0092-7 |
DOIs | |
Publication status | Published - 28 Aug 2023 |
Event | 27th ACM International Systems and Software Product Line Conference, SPLC 2023 - Tokyo, Japan Duration: 28 Aug 2023 → 1 Sept 2023 |
Conference
Conference | 27th ACM International Systems and Software Product Line Conference, SPLC 2023 |
---|---|
Country/Territory | Japan |
City | Tokyo |
Period | 28/08/23 → 1/09/23 |
Funding
The research reported in this paper has been partially supported by the German Research Foundation (DFG) project EXPLANT (LE 3382/2-3, SA 465/49-3) [34].
Funders | Funder number |
---|---|
Deutsche Forschungsgemeinschaft | LE 3382/2-3, SA 465/49-3 |
Keywords
- Program comprehension
- Software documentation
- Merging
- Fork ecosystem
- Software evolution
- Variant-rich systems
- program comprehension
- merging
- fork ecosystems
- variant-rich systems
- software documentation
- software evolution