The Hidden Challenges of Merging: A Tool-Based Exploration
Merging is common in collaborative software development, often leading to conflicts. Code modifications, such as refactorings, may contribute to merge conflicts depending on the approach employed by the merging tools. In this paper, we investigate how code changes over time influence merge conflicts and examine how different merge tools affect their frequency. We analyzed 507,411 merge actions from GitHub Java projects using three distinct merge tools: Git, jFSTMerge, and IntelliMerge. Our findings reveal that nearly 43 percent of Git's conflicting scenarios involved refactorings, and resolving these conflicts required significantly more time. We found that refactorings increase the likelihood of conflicts by roughly 10 times in Git, 12 times in jFSTMerge, and 9 times in IntelliMerge. Additionally, out of 62 refactoring types executed, 33.8 percent were consistently associated with conflicts across all three tools. Regarding the number of developers involved in the history of a conflict, jFSTMerge and IntelliMerge were 28 times and 8 times more likely to result in merge conflicts, respectively. These in-sights may be employed to enhance merging algorithms to better handle these specific types of changes and to guide development teams in mitigating risks by coordinating refactorings, potentially reducing the overall rate of conflicts.
Authors
- Everton L. G. Alves (ORCID: https://orcid.org/0000-0002-2749-0236)
- Sabrina Souto (ORCID: https://orcid.org/0000-0002-7833-9069)
- Melina Mongiovi (ORCID: https://orcid.org/0000-0002-9450-831X)
- Luciana De Q. L. Gomes
Institutions
- Universidade Federal de Campina Grande (BR)
Publication Details
- Published
- 2025-03-04
- DOI
- https://doi.org/10.1109/saner64311.2025.00061
- Primary Topic
- Business Strategy and Innovation
- Type
- article
- Field-Weighted Citation Impact
- 0.00