Sangam: A Confluence of Knowledge Streams

A Characterization Study of Merge Conflicts in Java Projects

Show simple item record

dc.creator Shen, Bowen
dc.creator Gulzar, Muhammad Ali
dc.creator He, Fei
dc.creator Meng, Na
dc.date 2022-10-03T16:35:20Z
dc.date 2022-10-03T16:35:20Z
dc.date 2022
dc.date 2022-10-03T07:45:05Z
dc.date.accessioned 2023-03-01T18:30:19Z
dc.date.available 2023-03-01T18:30:19Z
dc.identifier http://hdl.handle.net/10919/112057
dc.identifier https://doi.org/10.1145/3546944
dc.identifier.uri http://localhost:8080/xmlui/handle/CUHPOERS/279201
dc.description In 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.
dc.description Accepted version
dc.format application/pdf
dc.format application/pdf
dc.language en
dc.publisher ACM
dc.rights In Copyright
dc.rights http://rightsstatements.org/vocab/InC/1.0/
dc.rights ACM
dc.title A Characterization Study of Merge Conflicts in Java Projects
dc.type Article - Refereed
dc.type Text


Files in this item

Files Size Format View
3546944.pdf 588.6Kb application/pdf View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse