{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,31]],"date-time":"2026-07-31T22:39:58Z","timestamp":1785537598155,"version":"3.56.0"},"reference-count":59,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,3,31]],"date-time":"2023-03-31T00:00:00Z","timestamp":1680220800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science Foundation","award":["NSF-1845446"],"award-info":[{"award-number":["NSF-1845446"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2023,4,30]]},"abstract":"<jats:p>\n            In collaborative software development, programmers create software branches to add features and fix bugs tentatively, and then merge branches to integrate edits. When edits from different branches textually overlap (i.e.,\n            <jats:italic>textual conflicts<\/jats:italic>\n            ) or lead to compilation and runtime errors (i.e.,\n            <jats:italic>build and test conflicts<\/jats:italic>\n            ), it is challenging for developers to remove such conflicts. Prior work proposed tools to detect and solve conflicts. They investigate how conflicts relate to code smells and the software development process. However, many questions are still not fully investigated, such as what types of conflicts exist in real-world applications and how developers or tools handle them. For this article, we used automated textual merge, compilation, and testing to reveal three 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 from different angles.\n          <\/jats:p>\n          <jats:p>Our analysis revealed three interesting phenomena. First, higher-order conflicts (i.e., build and test conflicts) are harder to detect and resolve, while existing tools mainly focus on textual conflicts. Second, developers manually resolved most higher-order conflicts by applying similar edits to multiple program locations; their conflict resolutions share common editing patterns implying great opportunities for future tool design. Third, developers resolved 64% of true textual conflicts by keeping complete edits from either a left or right branch. Unlike prior studies, our research for the first time thoroughly characterizes three types of conflicts, with a special focus on higher-order conflicts and limitations of existing tool design. Our work will shed light on future research of software merge.<\/jats:p>","DOI":"10.1145\/3546944","type":"journal-article","created":{"date-parts":[[2022,7,6]],"date-time":"2022-07-06T09:33:41Z","timestamp":1657100021000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["A Characterization Study of Merge Conflicts in Java Projects"],"prefix":"10.1145","volume":"32","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2298-6857","authenticated-orcid":false,"given":"Bowen","family":"Shen","sequence":"first","affiliation":[{"name":"Virginia Tech, Blacksburg, VA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8007-8662","authenticated-orcid":false,"given":"Muhammad Ali","family":"Gulzar","sequence":"additional","affiliation":[{"name":"Virginia Tech, Blacksburg, VA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4266-875X","authenticated-orcid":false,"given":"Fei","family":"He","sequence":"additional","affiliation":[{"name":"Tsinghua University, Beijing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0230-5524","authenticated-orcid":false,"given":"Na","family":"Meng","sequence":"additional","affiliation":[{"name":"Virginia Tech, Blacksburg, VA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,3,31]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"2010. Merge branch \u201cmaster\u201d of github.com:ning\/async-http-client. Retrieved Aug. 1 2021 from https:\/\/github.com\/AsyncHttpClient\/async-http-client\/commit\/4999b8dd4278f9cae0a1d278c00f067e8df5c12e."},{"key":"e_1_3_1_3_2","unstructured":"2012. close hooks. Retrieved Aug. 1 2021 from https:\/\/github.com\/eclipse-vertx\/vert.x\/commit\/48972cf7c810802eeb88bb0babbabc56f34023d5."},{"key":"e_1_3_1_4_2","unstructured":"2012. Merge branch \u201cmaster\u201d of https:\/\/wenshao@github.com\/AlibabaTech\/fastjson.git. Retrieved Aug. 1 2021 from https:\/\/github.com\/alibaba\/fastjson\/commit\/ee3728b727c52d9090919f7791e1b0d738e1ea6f."},{"key":"e_1_3_1_5_2","unstructured":"2013. Merge branch \u201cmaster-issue1115\u201d of github.com:enesakar\/hazelcast into master. Retrieved Aug. 1 2021 from https:\/\/github.com\/hazelcast\/hazelcast\/commit\/dc13b1efc99bb0fb086e817492c9ed196836b33b."},{"key":"e_1_3_1_6_2","unstructured":"2013. Merge branch \u201cmaster\u201d of github.com:azkaban\/azkaban2 into pipelineui. Retrieved Aug. 1 2021 from https:\/\/github.com\/azkaban\/azkaban\/commit\/4816d7435f6d0ba469bf20e68852ccc056c9435d."},{"key":"e_1_3_1_7_2","unstructured":"2015. Merge commit \u201cb2fb76cdacfbf2ce2c2aab8e3e4e87bfcae292a4\u201d into elastic2.0. Retrieved Aug. 1 2021 from https:\/\/github.com\/NLPchina\/elasticsearch-sql\/commit\/10f0159963f9d84f13f32b37490222059c6a9397."},{"key":"e_1_3_1_8_2","unstructured":"2015. Merge remote-tracking branch \u201corigin\/master\u201d. Retrieved from https:\/\/github.com\/MyCATApache\/Mycat-Server\/commit\/56e17e66e0fb7f94ebf7a97d0a1ac0407bb07478."},{"key":"e_1_3_1_9_2","unstructured":"2016. Merge branch \u201cdev\u201d of https:\/\/github.com\/nitincchauhan\/HikariCP into dev. Retrieved Aug. 1 2021 from https:\/\/github.com\/brettwooldridge\/HikariCP\/commit\/68a52f143194e3d2fc7a14a005c64a58aca0d5a7."},{"key":"e_1_3_1_10_2","unstructured":"2017. Merge branch \u201cdev\u201d of https:\/\/github.com\/Netflix\/conductor into dev. Retrieved Aug. 1 2021 from https:\/\/github.com\/Netflix\/conductor\/commit\/4fd6ff1a6cc4979b9fc7832c464615281f5734c9."},{"key":"e_1_3_1_11_2","unstructured":"2018. Merge pull request #511 from square\/eric.non-null. Retrieved Aug. 1 2021 from https:\/\/github.com\/square\/moshi\/commit\/eb24a235682eacdfb7bbfd7444ff6a2bca65ef76."},{"key":"e_1_3_1_12_2","unstructured":"2018. Merge remote-tracking branch \u201cupstream\/master\u201d. Retrieved Aug. 1 2021 from https:\/\/github.com\/alibaba\/spring-cloud-alibaba\/commit\/ff2c3906734e917594994c1dd85d010e2d121a69."},{"key":"e_1_3_1_13_2","unstructured":"2018. Which manufacturer updates its phones fastest? Android Oreo edition. Retrieved Aug. 1 2021 from https:\/\/www.androidauthority.com\/android-oreo-fastest-manufacturers-update-874788\/."},{"key":"e_1_3_1_14_2","unstructured":"2019. Merge branch \u201c1.6.6-druid\u201d into zzw-druid. Retrieved Aug. 1 2021 from https:\/\/github.com\/MyCATApache\/Mycat-Server\/commit\/c42db00282577e9524a55ccef8889a3dff713518."},{"key":"e_1_3_1_15_2","unstructured":"2019. Merge branch \u201c2.7.0-release\u201d. Retrieved Aug. 1 2021 from https:\/\/github.com\/apache\/dubbo\/commit\/68fa9c189d5a260260fb411a7ad7e8e035475b8a."},{"key":"e_1_3_1_16_2","unstructured":"2019. Merge branch \u201cmaster\u201d into type-inference-wip. Retrieved Aug. 1 2021 from https:\/\/github.com\/skylot\/jadx\/commit\/e1f4955286f73a6ca4525fc27b11fd02106f7f08."},{"key":"e_1_3_1_17_2","unstructured":"2019. Merge branch \u201cmaster\u201d of https:\/\/github.com\/java-decompiler\/jd-gui. Retrieved Aug. 1 2021 from https:\/\/github.com\/java-decompiler\/jd-gui\/commit\/2ae4688ea65a52a7921c36e3b993b502c2d34fee."},{"key":"e_1_3_1_18_2","unstructured":"2019. Merge pull request #1552 from nkorange\/hotfix_log_optimization. Retrieved Aug. 1 2021 from https:\/\/github.com\/alibaba\/nacos\/commit\/9b2367eb91dbd909ef4fd0ceeddfd9762d348d02."},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2018.2871083"},{"key":"e_1_3_1_20_2","unstructured":"2021. Gradle. Retrieved Aug. 1 2021 from https:\/\/gradle.org."},{"key":"e_1_3_1_21_2","unstructured":"2021. Integration Hell. Retrieved Aug. 1 2021 from https:\/\/www.solutionsiq.com\/agile-glossary\/integration-hell\/."},{"key":"e_1_3_1_22_2","unstructured":"2021. jFSTMerge. Retrieved Aug. 1 2021 from https:\/\/github.com\/guilhermejccavalcanti\/jFSTMerge."},{"key":"e_1_3_1_23_2","unstructured":"2021. Maven. Retrieved Aug. 1 2021 from https:\/\/maven.apache.org."},{"key":"e_1_3_1_24_2","unstructured":"2021. Sample size calculator. Retrieved Aug. 1 2021 from https:\/\/www.surveymonkey.com\/mp\/sample-size-calculator\/."},{"key":"e_1_3_1_25_2","unstructured":"Ant. Retrieved August 07 2019 from https:\/\/ant.apache.org."},{"key":"e_1_3_1_26_2","unstructured":"Git Merge. Retrieved August 26 2019 from https:\/\/git-scm.com\/docs\/git-merge."},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2017.12"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351694"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025141"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09735-4"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025139"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.28"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/3133883"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00097"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASWEC.2013.32"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICGSE.2014.17"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337264"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE5003.2020.00016"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287634"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-014-0151-5"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-017-0227-0"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.46"},{"key":"e_1_3_1_43_2","first-page":"289","volume-title":"Proceedings of the OSDI","author":"Li Zhenmin","year":"2004","unstructured":"Zhenmin Li, Shan Lu, Suvda Myagmar, and Yuanyuan Zhou. 2004. CP-Miner: A tool for finding copy-paste and related bugs in operating system code. In Proceedings of the OSDI. 289\u2013302."},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8668012"},{"key":"e_1_3_1_45_2","first-page":"10","volume-title":"Proceedings of the ICSE","author":"Meng Na","year":"2013","unstructured":"Na Meng, Miryung Kim, and Kathryn McKinley. 2013. LASE: Locating and applying systematic edits. In Proceedings of the ICSE. 10."},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993537"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1000449"},{"key":"e_1_3_1_48_2","first-page":"161","volume-title":"Proceedings of the General Track: 2002 USENIX Annual Technical Conference","author":"Miller Robert C.","year":"2001","unstructured":"Robert C. Miller and Brad A. Myers. 2001. Interactive simultaneous editing of multiple text regions. In Proceedings of the General Track: 2002 USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, 161\u2013174."},{"key":"e_1_3_1_49_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9674-x"},{"key":"e_1_3_1_50_2","doi-asserted-by":"crossref","unstructured":"Hoan Anh Nguyen Tung Thanh Nguyen Gary Wilson Jr. Anh Tuan Nguyen Miryung Kim and Tien N. Nguyen. 2010. A graph-based approach to API usage adaptation. ACM Sigplan Notices 45 10 (2010) 302\u2013321.","DOI":"10.1145\/1932682.1869486"},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10606-018-9323-3"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2009.90"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2019.8870173"},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00077"},{"key":"e_1_3_1_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2889223"},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/3360596"},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/3276535"},{"key":"e_1_3_1_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786850"},{"key":"e_1_3_1_59_2","doi-asserted-by":"publisher","DOI":"10.1109\/SWAN.2015.7070484"},{"key":"e_1_3_1_60_2","doi-asserted-by":"publisher","DOI":"10.1145\/3276536"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3546944","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3546944","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:00:42Z","timestamp":1750186842000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3546944"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,3,31]]},"references-count":59,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,4,30]]}},"alternative-id":["10.1145\/3546944"],"URL":"https:\/\/doi.org\/10.1145\/3546944","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,3,31]]},"assertion":[{"value":"2021-09-02","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-06-04","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-31","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}