Automating the Resolutions for Software Merge Conflicts
No Thumbnail Available
Date
2024-11-22
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Virginia Polytechnic Institute and State University
Abstract
During collaborative software development, developers engage in parallel work on separate
branches, which are eventually merged at regular intervals. However, conflicts can arise
when edits from different branches overlap in the text. Resolving such conflicts involves
three strategies: keeping the local version only (KL), keeping the remote version only (KR),
or manually editing them (ME). Nonetheless, manually resolving merge conflicts can be
a laborious and error-prone process. Thus, researchers proposed tools to aid in conflict
resolution by combining edits from both branches as many as possible, although these tools
often fail to consider the preferences of the developers involved adequately. Recent studies
show that developers predominantly resolve textual conflicts via KL or KR. This suggests
that existing tools do not fully consider the resolution preferences of developers but only
focus on the technical feasibility of merging branch edits. Our research focuses on predicting
developers’ resolutions automatically for software merge conflicts and suggesting resolution
edits to developers. We designed and implemented three tools to automatically predict
resolution strategies for merge conflicts and to automatically apply some of the strategies
by producing merged versions. The tool evaluation shows promising results. Our research
will help developers resolve conflicts effectively and efficiently; it will also shed light on future
research for software merge and automatic conflict resolution.
Description
N/A
Keywords
Software merge, conflict resolution, automatic code merging, automatic conflict resolution, machine learning
Citation
n/a