ASE 2024
Sun 27 October - Fri 1 November 2024 Sacramento, California, United States
Thu 31 Oct 2024 14:30 - 14:45 at Gardenia - Software Merge Chair(s): Haiyan Zhao

Collaborative software development significantly enhances development productivity by enabling multiple contributors to work concurrently on different branches. Despite these advantages, such collaboration often increases the likelihood of causing conflicts. Resolving these conflicts brings huge challenges, primarily due to the necessity of comprehending the differences between conflicting versions. Researchers have explored various automatic conflict resolution techniques, including unstructured, structured, and learning-based approaches. However, these techniques are mostly heuristic-based or black-box in nature, which means they do not attempt to solve the root cause of the conflicts, i.e., the existence of different program behaviors exhibited by the conflicting versions.

In this work, we propose sMerge, a novel conflict resolution approach based on the semantics of program behaviors. We first give the formal definition of the merge conflict problem as well as the specific conditions under which conflicts happen and the criteria employed to select certain version as the resolution. Based on the definition, we propose to resolve the conflicts from the perspective of program behaviors. In particular, we argue that the key to resolving conflicts is identifying different program behaviors, and thus can be solved through targeted test generation. We conduct an extensive evaluation of sMerge using a comprehensive dataset of conflicts sourced from various projects. Our results show that sMerge can effectively solve the merge problem by employing different test generation techniques, including search-based, GPT-based, and manual testing. We remark that sMerge provides a way to understand the program behavior differences through testing, which not only allows us to solve the merge problem soundly but also enables the detection of incorrect ground truths provided by developers, thereby enhancing the reliability of the merge process.

Thu 31 Oct

Displayed time zone: Pacific Time (US & Canada) change

13:30 - 15:00
Software MergeResearch Papers / Journal-first Papers at Gardenia
Chair(s): Haiyan Zhao Peking University
13:30
15m
Talk
Evaluation of Version Control Merge Tools
Research Papers
Benedikt Schesch ETH Zurich, Ryan Featherman UW CSE, Ben Roberts UW CSE, Kenneth J Yang UW CSE, Michael D. Ernst University of Washington
13:45
15m
Talk
Semistructured Merge with Language-Specific Syntactic Separators
Research Papers
Guilherme Cavalcanti Federal Institute of Pernambuco, Brazil, Paulo Borba Federal University of Pernambuco, Leonardo dos Anjos Federal University of Pernambuco, Jonatas Clementino Federal University of Pernambuco
14:00
15m
Talk
Automatic Prediction of Developers' Resolutions for Software Merge Conflicts
Journal-first Papers
Waad riadh aldndni Virginia Tech, Blacksburg,VA,U.S.A., Na Meng Virginia Tech, Francisco Servant ITIS Software, University of Malaga
14:15
15m
Talk
ConflictBench: A Benchmark to Evaluate Software Merge Tools
Journal-first Papers
Bowen Shen Virginia Tech, Na Meng Virginia Tech
14:30
15m
Talk
Revisiting the Conflict-Resolving Problem from a Semantic Perspective
Research Papers
Jinhao Dong Peking University, Jun Sun Singapore Management University, Yun Lin Shanghai Jiao Tong University, Yedi Zhang National University of Singapore, Murong Ma National University of Singapore, Jin Song Dong National University of Singapore, Dan Hao Peking University