Evaluation of Version Control Merge Tools
Benedikt Schesch, Ryan Featherman, Kenneth J. Yang, Ben R. Roberts, Michael D. Ernst
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper3
- Dependent-test-aware regression testing techniquesWing Lam, August Shi, Reed Oei, Sai Zhang 等ISSTA 2020 · 被引用 44 次
- Program merge conflict resolution via neural transformersAlexey Svyatkovskiy, Sarah Fakhoury, Negar Ghorbani, Todd Mytkowicz 等FSE 2022 · 被引用 33 次
- Verifying Determinism in Sequential ProgramsRashmi Mudduluru, Jason Waataja, Suzanne Millstein, Michael D. ErnstICSE 2021 · 被引用 4 次
相关 Paper
- 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 次
- EditFusion: Resolving Code Merge Conflicts via Edit SelectionChangxin Wang, Lei Xu, Rundong Wang, Yiming Ma 等ASE 2025
- Grove: A Bidirectionally Typed Collaborative Structure Editor CalculusMichael D. Adams, Eric Griffis, Thomas Porter, Sundara Vishnu Satish 等POPL 2025 · 被引用 3 次
- Merge Conflict Resolution: Classification or Generation?Jinhao Dong, Qihao Zhu, Zeyu Sun, Yiling Lou 等ASE 2023 · 被引用 8 次
