A Characterization Study of Merge Conflicts in Java Projects

dc.contributor.authorShen, Bowenen
dc.contributor.authorGulzar, Muhammad Alien
dc.contributor.authorHe, Feien
dc.contributor.authorMeng, Naen
dc.date.accessioned2022-10-03T16:35:20Zen
dc.date.available2022-10-03T16:35:20Zen
dc.date.issued2022en
dc.date.updated2022-10-03T07:45:05Zen
dc.description.abstractIn collaborative software development, programmers create branches to add features and fix bugs, and merge branches to integrate edits. When edits from different branches textually overlap (i.e., textual conflicts) or lead to compilation and runtime errors (i.e., build and test conflicts), it is challenging for developers to remove conflicts. Prior work proposed tools to detect and solve conflicts. However, many questions are not fully investigated, such as what types of conflicts exist in practice and how developers or tools handle them. For this paper, we used automated textual merge, compilation, and testing to reveal 3 types of conflicts in 208 open-source repositories: textual conflicts, build conflicts (i.e., conflicts causing build errors), and test conflicts (i.e., conflicts triggering test failures). We manually inspected 538 conflicts and their resolutions to characterize merge conflicts. Our analysis revealed three phenomena. First, higher-order conflicts (i.e., build and test conflicts) are harder to handle, while existing tools mainly focus on textual conflicts. Second, developers resolved most higher-order conflicts by applying similar edits to multiple program locations. Third, developers resolved 64% of true textual conflicts by keeping complete edits from either a left or right branch. Our work will shed light on future research of software merge.en
dc.description.versionAccepted versionen
dc.format.mimetypeapplication/pdfen
dc.identifier.doihttps://doi.org/10.1145/3546944en
dc.identifier.urihttp://hdl.handle.net/10919/112057en
dc.language.isoenen
dc.publisherACMen
dc.rightsIn Copyrighten
dc.rights.holderACMen
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.titleA Characterization Study of Merge Conflicts in Java Projectsen
dc.typeArticle - Refereeden
dc.type.dcmitypeTexten

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3546944.pdf
Size:
574.83 KB
Format:
Adobe Portable Document Format
Description:
Accepted version
License bundle
Now showing 1 - 1 of 1
Name:
license.txt
Size:
0 B
Format:
Item-specific license agreed upon to submission
Description: