{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,12]],"date-time":"2025-12-12T02:51:30Z","timestamp":1765507890605,"version":"3.48.0"},"reference-count":53,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2026,1,31]]},"abstract":"<jats:p>\n                    Modern software development necessitates efficient version-oriented collaboration among developers. While Git is the most popular version control system, it generates unsatisfactory version merging results due to textual-based workflow, leading to potentially unexpected results in the merged version of the project. Although numerous merging tools have been proposed for improving merge results, developers remain struggling to resolve the conflicts and fix incorrectly modified code without clues. We present\n                    <jats:sc>WizardMerge<\/jats:sc>\n                    , an auxiliary tool that leverages merging results from Git to retrieve code block dependency on text and LLVM Intermediate Representation level and provide suggestions for developers to resolve errors introduced by textual merging. Rather than directly resolving these errors, the suggestions provide pigeonholed code blocks with their relevance and prioritized order within each category. To this end, developers can address the specific locations of these issues without manually analyzing their dependencies, thereby reducing the time and effort spent on conflict resolution tasks. Through the evaluation, we subjected\n                    <jats:sc>WizardMerge<\/jats:sc>\n                    to testing on 227 conflicts within five large-scale projects. The outcomes demonstrate that\n                    <jats:sc>WizardMerge<\/jats:sc>\n                    diminishes conflict merging time costs, achieving a 23.85% reduction. Beyond addressing conflicts,\n                    <jats:sc>WizardMerge<\/jats:sc>\n                    provides useful code block classifications and resolving orders for over 70% of the code blocks potentially affected by the conflicts. Notably,\n                    <jats:sc>WizardMerge<\/jats:sc>\n                    exhibits the capability to identify conflict-unrelated code blocks that require manual intervention yet are harmfully applied by Git during the merging.\n                  <\/jats:p>","DOI":"10.1145\/3731751","type":"journal-article","created":{"date-parts":[[2025,4,25]],"date-time":"2025-04-25T13:23:23Z","timestamp":1745587403000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["<scp>WizardMerge<\/scp>\n                    \u2014Save Us from Merging without Any Clues"],"prefix":"10.1145","volume":"35","author":[{"ORCID":"https:\/\/orcid.org\/0009-0009-4422-3971","authenticated-orcid":false,"given":"Qingyu","family":"Zhang","sequence":"first","affiliation":[{"name":"Department of Computer Science, The University of Hong Kong, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-9026-9617","authenticated-orcid":false,"given":"Junzhe","family":"Li","sequence":"additional","affiliation":[{"name":"Department of Computer Science, The University of Hong Kong, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-6790-1302","authenticated-orcid":false,"given":"Jiayi","family":"Lin","sequence":"additional","affiliation":[{"name":"Department of Computer Science, The University of Hong Kong, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-3060-1998","authenticated-orcid":false,"given":"Jie","family":"Ding","sequence":"additional","affiliation":[{"name":"Department of Computer Science, The University of Hong Kong, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-1575-811X","authenticated-orcid":false,"given":"Lanteng","family":"Lin","sequence":"additional","affiliation":[{"name":"Department of Computer Science, The University of Hong Kong, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6201-6011","authenticated-orcid":false,"given":"Chenxiong","family":"Qian","sequence":"additional","affiliation":[{"name":"Department of Computer Science, The University of Hong Kong, Hong Kong, Hong Kong"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,12,11]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9586-1"},{"key":"e_1_3_1_3_2","doi-asserted-by":"crossref","first-page":"58","DOI":"10.1109\/ESEM.2017.12","volume-title":"Proceedings of the 2017 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)","author":"Ahmed Iftekhar","year":"2017","unstructured":"Iftekhar Ahmed, Caius Brindescu, Umme Ayda Mannan, Carlos Jensen, and Anita Sarma. 2017. An empirical examination of the relationship between code smells and merge conflicts. In Proceedings of the 2017 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 58\u201367."},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2023.111836"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351694"},{"key":"e_1_3_1_6_2","doi-asserted-by":"crossref","first-page":"190","DOI":"10.1145\/2025113.2025141","volume-title":"Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering","author":"Apel Sven","year":"2011","unstructured":"Sven Apel, J\u00f6rg Liebig, Benjamin Brandl, Christian Lengauer, and Christian K\u00e4stner. 2011. Semistructured merge: Rethinking merge in revision control systems. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, 190\u2013200."},{"key":"e_1_3_1_7_2","unstructured":"ApsarasX. 2021. Use LLVM by JavaScript\/TypeScript. Retrieved February 2024 from https:\/\/dev.to\/apsarasx\/use-llvm-by-javascripttypescript-27c3"},{"key":"e_1_3_1_8_2","unstructured":"Atlassian. 2022. Git Merge. Retrieved October 2023 from https:\/\/www.atlassian.com\/git\/tutorials\/using-branches\/git-merge"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.28"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/3133883"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950339"},{"key":"e_1_3_1_12_2","unstructured":"Cp-Algorithms. 2023. Segment Tree. Retrieved October 2023 from https:\/\/cp-algorithms.com\/data_structures\/segment_tree.html"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2024.112070"},{"issue":"4","key":"e_1_3_1_14_2","first-page":"e2441","article-title":"Build conflicts in the wild","volume":"34","author":"Silva L\u00e9uson Da","year":"2022","unstructured":"L\u00e9uson Da Silva, Paulo Borba, and Arthur Pires. 2022. Build conflicts in the wild. Journal of Software: Evolution and Process 34, 4 (2022), e2441.","journal-title":"Journal of Software: Evolution and Process"},{"issue":"4","key":"e_1_3_1_15_2","doi-asserted-by":"crossref","first-page":"1599","DOI":"10.1109\/TSE.2022.3183955","article-title":"DeepMerge: Learning to merge programs","volume":"49","author":"Dinella Elizabeth","year":"2022","unstructured":"Elizabeth Dinella, Todd Mytkowicz, Alexey Svyatkovskiy, Christian Bird, Mayur Naik, and Shuvendu Lahiri. 2022. DeepMerge: Learning to merge programs. IEEE Transactions on Software Engineering 49, 4 (2022), 1599\u20131614.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_1_16_2","first-page":"1652","volume-title":"Proceedings of the 2023 38th IEEE\/ACM International Conference on Automated Software Engineering (ASE)","author":"Dong Jinhao","year":"2023","unstructured":"Jinhao Dong, Qihao Zhu, Zeyu Sun, Yiling Lou, and Dan Hao. 2023. Merge conflict resolution: Classification or generation? In Proceedings of the 2023 38th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1652\u20131663."},{"key":"e_1_3_1_17_2","unstructured":"Changbin Du. 2018. Kernel Hacking: GCC Optimization for Better Debug Experience (-Og). Retrieved January 2024 from https:\/\/lwn.net\/Articles\/753639\/"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2023.107332"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11023-020-09548-1"},{"key":"e_1_3_1_20_2","unstructured":"Martin Fowler and Matthew Foemmel. 2006. Continuous integration. Retrieved October 2023 from https:\/\/martinfowler.com\/articles\/continuousIntegration.html"},{"key":"e_1_3_1_21_2","unstructured":"Git. 2023. Git. Retrieved October 2023 from https:\/\/git-scm.com\/"},{"key":"e_1_3_1_22_2","unstructured":"Git. 2023. Git Merge. Retrieved October 2023 from https:\/\/git-scm.com\/docs\/git-merge"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978405"},{"key":"e_1_3_1_24_2","unstructured":"Kumaran Handy. 2023. The Biggest Codebases in History as Measured by Lines of Code. Retrieved January 2024 from https:\/\/www.artstation.com\/blogs\/dioeye\/Rn8z\/the-biggest-codebases-in-history-as-measured-by-lines-of-code"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/1356058.1356080"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134062"},{"key":"e_1_3_1_27_2","unstructured":"Jatin Khurana. 2014. GIT Merge Successfully but Introduce a Compilation Error. Retrieved January 2024 from https:\/\/stackoverflow.com\/questions\/25270430\/git-merge-successfully-but-introduce-a-compilation-error"},{"issue":"1","key":"e_1_3_1_28_2","doi-asserted-by":"crossref","first-page":"64","DOI":"10.1109\/TSE.2022.3143766","article-title":"Spork: Structured merge for Java with formatting preservation","volume":"49","author":"Lars\u00e9n Simon","year":"2022","unstructured":"Simon Lars\u00e9n, Jean-R\u00e9my Falleri, Benoit Baudry, and Martin Monperrus. 2022. Spork: Structured merge for Java with formatting preservation. IEEE Transactions on Software Engineering 49, 1 (2022), 64\u201383.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_1_29_2","first-page":"1","article-title":"LLVM and Clang: Next generation compiler technology","volume":"5","author":"Lattner Chris","year":"2008","unstructured":"Chris Lattner. 2008. LLVM and Clang: Next generation compiler technology. In Proceedings of the BSD Conference, Vol. 5, 1\u201320.","journal-title":"Proceedings of the BSD Conference"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1025671410623"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/1030397.1030399"},{"key":"e_1_3_1_32_2","unstructured":"LLVM. 2023. LLVM\u2019s Analysis and Transform Passes. Retrieved December 2023 from https:\/\/llvm.org\/docs\/Passes.html"},{"key":"e_1_3_1_33_2","unstructured":"LLVM. 2024. The LLVM Compiler Infrastructure. Retrieved April 2024 from https:\/\/llvm.org\/"},{"key":"e_1_3_1_34_2","unstructured":"LLVM. 2024. LLVM Programmer\u2019s Manual. Retrieved August 2024 from https:\/\/llvm.org\/docs\/ProgrammersManual.html"},{"key":"e_1_3_1_35_2","unstructured":"Mozilla. 2023. Mercurial Gecko Repositories. Retrieved December 2023 from https:\/\/hg.mozilla.org\/"},{"key":"e_1_3_1_36_2","unstructured":"Mozilla. 2024. Gecko-dev: NsCOMPtr.h. Retrieved January 29 2024 from https:\/\/github.com\/mozilla\/gecko-dev\/blob\/a20620423a5363cf7afdac81e062bc687c29366a\/xpcom\/base\/nsCOMPtr.h"},{"key":"e_1_3_1_37_2","unstructured":"MySQL. 2024. MySQL. Retrieved April 2024 from https:\/\/dev.mysql.com\/"},{"key":"e_1_3_1_38_2","first-page":"661","volume-title":"Proceedings of the 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","volume":"1","author":"Nishimura Yuichi","year":"2016","unstructured":"Yuichi Nishimura and Katsuhisa Maruyama. 2016. Supporting merge conflict resolution by using fine-grained code change history. In Proceedings of the 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), Vol. 1. IEEE, 661\u2013664."},{"key":"e_1_3_1_39_2","first-page":"1291","volume-title":"Proceedings of the 2021 36th IEEE\/ACM International Conference on Automated Software Engineering (ASE)","author":"Shen Bo","year":"2021","unstructured":"Bo Shen, Wei Zhang, Ailun Yu, Yifan Shi, Haiyan Zhao, and Zhi Jin. 2021. SoManyConflicts: Resolve many merge conflicts interactively and systematically. In Proceedings of the 2021 36th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1291\u20131295."},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/3360596"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3276535"},{"key":"e_1_3_1_42_2","unstructured":"Calvin Spealman. 2018. When a Clean Merge is Wrong. Retrieved January 2024 from https:\/\/www.caktusgroup.com\/blog\/2018\/03\/19\/when-clean-merge-wrong\/"},{"key":"e_1_3_1_43_2","unstructured":"Alexey Stepanov. 2020. What\u2019s the Difference between Kotlin\/Native and Java Bytecode with Compile through LLVM Frontend? Retrieved February 2024 from https:\/\/stackoverflow.com\/questions\/60580188\/whats-the-difference-between-kotlin-native-and-java-bytecode-with-compile-throu"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549163"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1137\/0201010"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3503222.3507764"},{"key":"e_1_3_1_47_2","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1109\/LLVM-HPC.2016.008","volume-title":"Proceedings of the 2016 3rd Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC)","author":"Tian Xinmin","year":"2016","unstructured":"Xinmin Tian, Hideki Saito, Ernesto Su, Abhinav Gaba, Matt Masten, Eric Garcia, and Ayal Zaks. 2016. LLVM framework and IR extensions for parallelization, SIMD vectorization and offloading. In Proceedings of the 2016 3rd Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC). IEEE, 21\u201331."},{"key":"e_1_3_1_48_2","unstructured":"Linus Torvalds. 2023. Linux Kernel Official Repository. Retrieved October 2023 from https:\/\/github.com\/torvalds\/linux"},{"key":"e_1_3_1_49_2","doi-asserted-by":"crossref","first-page":"204","DOI":"10.1109\/CGO.2003.1191546","volume-title":"Proceedings of the International Symposium on Code Generation and Optimization, 2003. CGO 2003","author":"Triantafyllis Spyridon","year":"2003","unstructured":"Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, and David I. August. 2003. Compiler optimization-space exploration. In Proceedings of the International Symposium on Code Generation and Optimization, 2003. CGO 2003. IEEE, 204\u2013215."},{"key":"e_1_3_1_50_2","volume-title":"C++ Templates: The Complete Guide, Portable Documents","author":"Vandevoorde David","year":"2002","unstructured":"David Vandevoorde and Nicolai M. Josuttis. 2002. C++ Templates: The Complete Guide, Portable Documents. Addison-Wesley Professional."},{"key":"e_1_3_1_51_2","unstructured":"Alexis M\u00e4\u00e4tt\u00e4 Vinkler. 2023. The Magic of 3-Way Merge. Retrieved October 2023 from https:\/\/blog.git-init.com\/the-magic-of-3-way-merge\/"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/3533767.3534396"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/3276536"},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-21213-0_5"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3731751","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,12,12]],"date-time":"2025-12-12T02:50:16Z","timestamp":1765507816000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3731751"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,12,11]]},"references-count":53,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2026,1,31]]}},"alternative-id":["10.1145\/3731751"],"URL":"https:\/\/doi.org\/10.1145\/3731751","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2025,12,11]]},"assertion":[{"value":"2024-06-20","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-04-17","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-12-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}