Write a Blog >>
ICSE 2021
Mon 17 May - Sat 5 June 2021

Forking structure is widespread in the open-source repositories and that causes a significant number of merge conflicts. In this paper, we study the problem of textual merge conflicts from the perspective of Microsoft Edge, a large, highly collaborative fork off the main Chromium branch with significant merge conflicts. Broadly, this study is divided into two sections. First, we empirically evaluate textual merge conflicts in Microsoft Edge and classify them based on the type of files, location of conflicts in a file, and the size of conflicts. We found that ~28% of the merge conflicts are 1-2 line changes, and many resolutions have frequent patterns. Second, driven by these findings, we explore Program Synthesis (for the first time) to learn patterns and resolve structural merge conflicts. We propose a novel domain-specific language (DSL) that captures many of the repetitive merge conflict resolution patterns and learn resolution strategies as programs in this DSL from example resolutions. We found that the learned strategies can resolve 11.4% of the conflicts (~41% of 1-2 line changes) that arise in the C++ files with 93.2% accuracy.

Wed 26 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

14:30 - 15:25
2.3.5. Handling Ecosystems of Forked ProjectsTechnical Track / NIER - New Ideas and Emerging Results at Blended Sessions Room 5 +12h
Chair(s): Claudia Ayala Universitat Politècnica de Catalunya, Spain
14:30
20m
Paper
Same File, Different Changes: The Potential of Meta-Maintenance on GitHubArtifact ReusableTechnical TrackArtifact Available
Technical Track
Hideaki Hata Shinshu University, Raula Gaikovina Kula NAIST, Takashi Ishio Nara Institute of Science and Technology, Christoph Treude University of Adelaide
DOI Pre-print Media Attached
14:50
15m
Paper
Semi-Automated Test-Case Propagation in Fork EcosystemsNIER
NIER - New Ideas and Emerging Results
Mukelabai Mukelabai Chalmers | University of Gothenburg, Thorsten Berger Chalmers | University of Gothenburg, Paulo Borba Federal University of Pernambuco
Pre-print Media Attached
15:05
20m
Paper
Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical AnalysisTechnical Track
Technical Track
Rangeet Pan Dept. of Computer Science, Iowa State University, Vu Le Microsoft, Nachiappan Nagappan Microsoft Research, Sumit Gulwani Microsoft, Shuvendu Lahiri Microsoft, Mike Kaufman Microsoft
Pre-print Media Attached

Thu 27 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

02:30 - 03:25
2.3.5. Handling Ecosystems of Forked ProjectsTechnical Track / NIER - New Ideas and Emerging Results at Blended Sessions Room 5
02:30
20m
Paper
Same File, Different Changes: The Potential of Meta-Maintenance on GitHubArtifact ReusableTechnical TrackArtifact Available
Technical Track
Hideaki Hata Shinshu University, Raula Gaikovina Kula NAIST, Takashi Ishio Nara Institute of Science and Technology, Christoph Treude University of Adelaide
DOI Pre-print Media Attached
02:50
15m
Paper
Semi-Automated Test-Case Propagation in Fork EcosystemsNIER
NIER - New Ideas and Emerging Results
Mukelabai Mukelabai Chalmers | University of Gothenburg, Thorsten Berger Chalmers | University of Gothenburg, Paulo Borba Federal University of Pernambuco
Pre-print Media Attached
03:05
20m
Paper
Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical AnalysisTechnical Track
Technical Track
Rangeet Pan Dept. of Computer Science, Iowa State University, Vu Le Microsoft, Nachiappan Nagappan Microsoft Research, Sumit Gulwani Microsoft, Shuvendu Lahiri Microsoft, Mike Kaufman Microsoft
Pre-print Media Attached