Evaluation of Version Control Merge Tools
Benedikt Schesch, Ryan Featherman, Kenneth J. Yang, Ben R. Roberts, Michael D. Ernst
Abstract
A version control system, such as Git, requires a way to integrate changes from different developers or branches. Given a merge scenario, a merge tool either outputs a clean integration of the changes, or it outputs a conflict for manual resolution. A clean integration is correct if it preserves intended program behavior, and is incorrect otherwise (e.g., if it causes a test failure). Manual resolution consumes valuable developer time, and correcting a defect introduced by an incorrect merge is even more costly. New merge tools have been proposed, but they have not yet been evaluated against one another. Prior evaluations do not properly distinguish between correct and incorrect merges, are not evaluated on a realistic set of merge scenarios, and/or do not compare to stateof-the-art tools. We have performed a more realistic evaluation. The results differ significantly from previous claims, setting the record straight and enabling better future research. Our novel experimental methodology combines running test suites, examining merges on deleted branches, and accounting for the cost of incorrect merges. Based on these evaluations, we created a merge tool that outperforms all previous tools under most assumptions. It handles the most common merge scenarios in practice. CCS CONCEPTS • Software and its engineering → Software configuration management and version control systems.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 1b75ecbf-32f6-42e4-8039-f6bb2557bd99Builds on3
- Dependent-test-aware regression testing techniquesWing Lam, August Shi, Reed Oei, Sai Zhang et al.ISSTA 2020 · 44 citations
- Program merge conflict resolution via neural transformersAlexey Svyatkovskiy, Sarah Fakhoury, Negar Ghorbani, Todd Mytkowicz et al.FSE 2022 · 33 citations
- Verifying Determinism in Sequential ProgramsRashmi Mudduluru, Jason Waataja, Suzanne Millstein, Michael D. ErnstICSE 2021 · 4 citations
Related papers
- On the Correctness of Software MergeAkira Mori, Masatomo HashimotoASE 2025
- Semistructured Merge with Language-Specific Syntactic SeparatorsGuilherme Cavalcanti, Paulo Borba, Leonardo dos Anjos, Jônatas ClementinoASE 2024 · 1 citation
- EditFusion: Resolving Code Merge Conflicts via Edit SelectionChangxin Wang, Lei Xu, Rundong Wang, Yiming Ma et al.ASE 2025
- Grove: A Bidirectionally Typed Collaborative Structure Editor CalculusMichael D. Adams, Eric Griffis, Thomas Porter, Sundara Vishnu Satish et al.POPL 2025 · 3 citations
- Merge Conflict Resolution: Classification or Generation?Jinhao Dong, Qihao Zhu, Zeyu Sun, Yiling Lou et al.ASE 2023 · 8 citations
