DSDGen: Extracting Documentation to Comprehend Fork Merges

Jacob Krüger, Alex Mikulinski, Sandro Schulze, Thomas Leich, Gunter Saake

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

3 Citations (Scopus)
15 Downloads (Pure)

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 languageEnglish
Title of host publicationSPLC '23
Subtitle of host publicationProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B
EditorsPaolo 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
PublisherAssociation for Computing Machinery, Inc
Pages47-56
Number of pages10
ISBN (Electronic)979-8-4007-0092-7
DOIs
Publication statusPublished - 28 Aug 2023
Event27th ACM International Systems and Software Product Line Conference, SPLC 2023 - Tokyo, Japan
Duration: 28 Aug 20231 Sept 2023

Conference

Conference27th ACM International Systems and Software Product Line Conference, SPLC 2023
Country/TerritoryJapan
CityTokyo
Period28/08/231/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].

FundersFunder number
Deutsche ForschungsgemeinschaftLE 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

    Fingerprint

    Dive into the research topics of 'DSDGen: Extracting Documentation to Comprehend Fork Merges'. Together they form a unique fingerprint.

    Cite this