{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,29]],"date-time":"2026-01-29T22:41:57Z","timestamp":1769726517828,"version":"3.49.0"},"reference-count":33,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA","license":[{"start":{"date-parts":[[2017,10,12]],"date-time":"2017-10-12T00:00:00Z","timestamp":1507766400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100006162","name":"Funda\u00e7\u00e3o de Amparo \u00e0 Ci\u00eancia e Tecnologia do Estado de Pernambuco","doi-asserted-by":"publisher","award":["IBPG-0546-1.03\/15"],"award-info":[{"award-number":["IBPG-0546-1.03\/15"]}],"id":[{"id":"10.13039\/501100006162","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100003593","name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico","doi-asserted-by":"publisher","award":["309741\/2013-0"],"award-info":[{"award-number":["309741\/2013-0"]}],"id":[{"id":"10.13039\/501100003593","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2017,10,12]]},"abstract":"<jats:p>While unstructured merge tools rely only on textual analysis to detect and resolve conflicts, semistructured merge tools go further by partially exploiting the syntactic structure and semantics of the involved artifacts. Previous studies compare these merge approaches with respect to the number of reported conflicts, showing, for most projects and merge situations, reduction in favor of semistructured merge. However, these studies do not investigate whether this reduction actually leads to integration effort reduction (productivity) without negative impact on the correctness of the merging process (quality). To analyze that, and better understand how merge tools could be improved, in this paper we reproduce more than 30,000 merges from 50 open source projects, identifying conflicts incorrectly reported by one approach but not by the other (false positives), and conflicts correctly reported by one approach but missed by the other (false negatives). Our results and complementary analysis indicate that, in the studied sample, the number of false positives is significantly reduced when using semistructured merge. We also find evidence that its false positives are easier to analyze and resolve than those reported by unstructured merge. However, we find no evidence that semistructured merge leads to fewer false negatives, and we argue that they are harder to detect and resolve than unstructured merge false negatives. Driven by these findings, we implement an improved semistructured merge tool that further combines both approaches to reduce the false positives and false negatives of semistructured merge. We find evidence that the improved tool, when compared to unstructured merge in our sample, reduces the number of reported conflicts by half, has no additional false positives, has at least 8% fewer false negatives, and is not prohibitively slower.<\/jats:p>","DOI":"10.1145\/3133883","type":"journal-article","created":{"date-parts":[[2017,10,13]],"date-time":"2017-10-13T15:15:45Z","timestamp":1507907745000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":54,"title":["Evaluating and improving semistructured merge"],"prefix":"10.1145","volume":"1","author":[{"given":"Guilherme","family":"Cavalcanti","sequence":"first","affiliation":[{"name":"Federal University of Pernambuco, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Paulo","family":"Borba","sequence":"additional","affiliation":[{"name":"Federal University of Pernambuco, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Paola","family":"Accioly","sequence":"additional","affiliation":[{"name":"Federal University of Pernambuco, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,10,12]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.108"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-78789-1_2"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351694"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025141"},{"key":"e_1_2_2_5_1","volume-title":"JDiff: A Differencing Technique and Tool for Object-oriented Programs. Automated Software Engineering","author":"Apiwattanapong Taweesup","year":"2007","unstructured":"Taweesup Apiwattanapong , Alessandro Orso , and Mary Jean Harrold . 2007. JDiff: A Differencing Technique and Tool for Object-oriented Programs. Automated Software Engineering ( 2007 ). Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold. 2007. JDiff: A Differencing Technique and Tool for Object-oriented Programs. Automated Software Engineering (2007)."},{"key":"e_1_2_2_6_1","doi-asserted-by":"crossref","unstructured":"Daniel M. Berry. 2017. Evaluation of Tools for Hairy Requirements Engineering and Software Engineering Tasks. (2017). https:\/\/cs.uwaterloo.ca\/~dberry\/FTP_SITE\/tech.reports\/EvalPaper.pdf  Daniel M. Berry. 2017. Evaluation of Tools for Hairy Requirements Engineering and Software Engineering Tasks. (2017). https:\/\/cs.uwaterloo.ca\/~dberry\/FTP_SITE\/tech.reports\/EvalPaper.pdf","DOI":"10.1109\/REW.2017.25"},{"key":"e_1_2_2_7_1","volume-title":"On merging software extensions. Acta Informatica","author":"Berzins Valdis","year":"1986","unstructured":"Valdis Berzins . 1986. On merging software extensions. Acta Informatica ( 1986 ). Valdis Berzins. 1986. On merging software extensions. Acta Informatica (1986)."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/197320.197403"},{"key":"e_1_2_2_9_1","volume-title":"Program Integration for Languages with Procedure Calls. ACM Transactions on Software Engineering and Methodology","author":"Binkley David","year":"1995","unstructured":"David Binkley , Susan Horwitz , and Thomas Reps . 1995. Program Integration for Languages with Procedure Calls. ACM Transactions on Software Engineering and Methodology ( 1995 ). David Binkley, Susan Horwitz, and Thomas Reps. 1995. Program Integration for Languages with Procedure Calls. ACM Transactions on Software Engineering and Methodology (1995)."},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2009.5069475"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393648"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025139"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-60578-9_14"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2015.7321191"},{"key":"e_1_2_2_15_1","unstructured":"Guilherme Cavalcanti Paola Accioly and Paulo Borba. 2017. Online Appendix of the paper Evaluating and Improving Semistructured Merge. Hosted on https:\/\/spgroup.github.io\/s3m . (2017).  Guilherme Cavalcanti Paola Accioly and Paulo Borba. 2017. Online Appendix of the paper Evaluating and Improving Semistructured Merge. Hosted on https:\/\/spgroup.github.io\/s3m . (2017)."},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/11785477_24"},{"key":"e_1_2_2_17_1","volume-title":"Nguyen","author":"Dig Danny","year":"2008","unstructured":"Danny Dig , Kashif Manzoor , Ralph E. Johnson , and Tien N . Nguyen . 2008 . Effective Software Merging in the Presence of Object-Oriented Refactorings. IEEE Transactions of Software Engineering ( 2008). Danny Dig, Kashif Manzoor, Ralph E. Johnson, and Tien N. Nguyen. 2008. Effective Software Merging in the Presence of Object-Oriented Refactorings. IEEE Transactions of Software Engineering (2008)."},{"key":"e_1_2_2_18_1","volume-title":"Sample size estimation: how many individuals should be studied? Radiology","author":"Eng John","year":"2003","unstructured":"John Eng . 2003. Sample size estimation: how many individuals should be studied? Radiology ( 2003 ). John Eng. 2003. Sample size estimation: how many individuals should be studied? Radiology (2003)."},{"key":"e_1_2_2_19_1","volume-title":"Proceedings of the USENIX C++ Conference. USENIX Association.","author":"Grass Judith E.","year":"1992","unstructured":"Judith E. Grass . 1992 . Cdiff: A Syntax Directed Differencer for C++ Programs . In Proceedings of the USENIX C++ Conference. USENIX Association. Judith E. Grass. 1992. Cdiff: A Syntax Directed Differencer for C++ Programs. In Proceedings of the USENIX C++ Conference. USENIX Association."},{"key":"e_1_2_2_20_1","volume-title":"Software Engineering at Google. CoRR","author":"Henderson Fergus","year":"2017","unstructured":"Fergus Henderson . 2017. Software Engineering at Google. CoRR ( 2017 ). Fergus Henderson. 2017. Software Engineering at Google. CoRR (2017)."},{"key":"e_1_2_2_21_1","volume-title":"Integrating Noninterfering Versions of Programs. ACM Transactions on Programming Languages and Systems","author":"Horwitz Susan","year":"1989","unstructured":"Susan Horwitz , Jan Prins , and Thomas Reps . 1989. Integrating Noninterfering Versions of Programs. ACM Transactions on Programming Languages and Systems ( 1989 ). Susan Horwitz, Jan Prins, and Thomas Reps. 1989. Integrating Noninterfering Versions of Programs. ACM Transactions on Programming Languages and Systems (1989)."},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.1994.336770"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606619"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-77050-3_40"},{"key":"e_1_2_2_25_1","unstructured":"Vladimir I Levenshtein. 1966. Binary codes capable of correcting deletions insertions and reversals. In Soviet physics doklady .  Vladimir I Levenshtein. 1966. Binary codes capable of correcting deletions insertions and reversals. In Soviet physics doklady ."},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2000.873652"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1000449"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491415"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2006.41"},{"key":"e_1_2_2_31_1","volume-title":"or Not to Lock: That is the Question. Journal of Systems and Software","author":"Prud\u00eancio Jo\u00e3o Gustavo","year":"2012","unstructured":"Jo\u00e3o Gustavo Prud\u00eancio , Leonardo Murta , Cl\u00e1udia Werner , and Rafael Cep\u00eada . 2012. To Lock , or Not to Lock: That is the Question. Journal of Systems and Software ( 2012 ). Jo\u00e3o Gustavo Prud\u00eancio, Leonardo Murta, Cl\u00e1udia Werner, and Rafael Cep\u00eada. 2012. To Lock, or Not to Lock: That is the Question. Journal of Systems and Software (2012)."},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBES.2012.16"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/111062.111071"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2007.22"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3133883","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3133883","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:30:34Z","timestamp":1750217434000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3133883"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,12]]},"references-count":33,"journal-issue":{"issue":"OOPSLA","published-print":{"date-parts":[[2017,10,12]]}},"alternative-id":["10.1145\/3133883"],"URL":"https:\/\/doi.org\/10.1145\/3133883","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,10,12]]},"assertion":[{"value":"2017-10-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}