{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,10,22]],"date-time":"2024-10-22T04:12:45Z","timestamp":1729570365007,"version":"3.28.0"},"reference-count":16,"publisher":"Sociedade Brasileira de Computa\u00e7\u00e3o","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"Software development is increasingly complex, with developers simultaneously working on different parts of the source code to build, maintain, and enhance systems. However, this collaborative nature of development can lead to conflicts when multiple individuals attempt to simultaneously modify the same file. In this scenario, code merge tools play a crucial role in detecting and resolving these conflicts. One such tool is CSDiff, a conflict detection and resolution tool, an alternative to the traditional and widespread Diff3. CSDiff stands out by using customizable separators specific to each programming language to help in conflict resolution. In this article, we propose an improvement to the functionality of CSDiff focusing on reducing false positive and false negatives conflicts found when using the original tool. Through an analysis based on Python programs, we compare CSDiff with and without the proposed improvement; we assess the impact on reducing errors presented by the original version of the tool. The results indicate that the proposed improvement not only reduces the number of reported false positive conflicts, leading to a higher proportion of scenarios with correctly resolved conflicts, but also results in a decrease in false negatives when compared to the original tool.<\/jats:p>","DOI":"10.5753\/sbes.2024.3395","type":"proceedings-article","created":{"date-parts":[[2024,10,21]],"date-time":"2024-10-21T11:58:58Z","timestamp":1729511938000},"page":"246-256","source":"Crossref","is-referenced-by-count":0,"title":["Refinando a Precis\u00e3o da Detec\u00e7\u00e3o de Conflitos: Uma An\u00e1lise do CSDiff com Abordagem Focalizada"],"prefix":"10.5753","author":[{"given":"Felipe","family":"Araujo","sequence":"first","affiliation":[]},{"given":"Paulo","family":"Borba","sequence":"additional","affiliation":[]},{"given":"Guilherme","family":"Cavalcanti","sequence":"additional","affiliation":[]}],"member":"3742","published-online":{"date-parts":[[2024,9,30]]},"reference":[{"key":"1","doi-asserted-by":"crossref","unstructured":"Paola Accioly, Paulo Borba, and Guilherme Cavalcanti. 2018. Understanding semistructured merge conflict characteristics in open-source Java projects. Empirical Software Engineering (2018).","DOI":"10.1145\/3238147.3241983"},{"key":"2","doi-asserted-by":"crossref","unstructured":"Sven Apel, Olaf Le\u00dfenich, and Christian Lengauer. 2012. Structured merge with auto-tuning: balancing precision and performance. In Proceedings of the 27th IEEE\/ACM International Conference on Automated Software Engineering - ASE 2012. ACM Press. DOI: 10.1145\/2351676.2351694<\/a>","DOI":"10.1145\/2351676.2351694"},{"key":"3","doi-asserted-by":"crossref","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 (Szeged, Hungary) (ESEC\/FSE \u201911). Association for Computing Machinery, New York, NY, USA, 190\u2013200. DOI: 10.1145\/2025113.2025141<\/a>","DOI":"10.1145\/2025113.2025141"},{"key":"4","doi-asserted-by":"crossref","unstructured":"Caius Brindescu, Iftekhar Ahmed, Carlos Jensen, and Anita Sarma. 2020. An empirical investigation into merge conflicts and their effect on software quality. Empirical Software Engineering 25, 1 (2020), 562\u2013590.","DOI":"10.1007\/s10664-019-09735-4"},{"key":"5","doi-asserted-by":"crossref","unstructured":"Guilherme Cavalcanti, Paulo Borba, and Paola Accioly. 2017. Evaluating and Improving Semistructured Merge. Proc. ACM Program. Lang. 1, OOPSLA, Article 59 (oct 2017), 27 pages. DOI: 10.1145\/3133883<\/a>","DOI":"10.1145\/3133883"},{"key":"6","doi-asserted-by":"crossref","unstructured":"Guilherme Cavalcanti, Paulo Borba, Georg Seibt, and Sven Apel. 2019. The Impact of Structure on Software Merging: Semistructured Versus Structured Merge. In 2019 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE). 1002\u20131013. DOI: 10.1109\/ASE.2019.00097<\/a>","DOI":"10.1109\/ASE.2019.00097"},{"key":"7","doi-asserted-by":"crossref","unstructured":"J\u00f4natas Clementino, Paulo Borba, and Guilherme Cavalcanti. 2021. Textual merge based on language-specific syntactic separators. In 35th Brazilian Symposium on Software Engineering (SBES 2021). 243\u2013252.","DOI":"10.1145\/3474624.3474646"},{"key":"8","doi-asserted-by":"crossref","unstructured":"Gleiph Ghiotto, Leonardo Murta, M\u00e1rcio Barros, and Andre Van Der Hoek. 2018. On the nature of merge conflicts: a study of 2,731 open source java projects hosted by github. IEEE Transactions on Software Engineering 46, 8 (2018), 892\u2013915.","DOI":"10.1109\/TSE.2018.2871083"},{"key":"9","doi-asserted-by":"crossref","unstructured":"Sanjeev Khanna, Keshav Kunal, and Benjamin C Pierce. 2007. A formal investigation of diff3. In International Conference on Foundations of Software Technology and Theoretical Computer Science. Springer, 485\u2013496.","DOI":"10.1007\/978-3-540-77050-3_40"},{"key":"10","unstructured":"Ali Koc and Abdullah Uz Tansel. 2011. A survey of version control systems. ICEME 2011 (2011)."},{"key":"11","doi-asserted-by":"crossref","unstructured":"T. Mens. 2002. A state-of-the-art survey on software merging. IEEE Transactions on Software Engineering 28, 5 (2002), 449\u2013462. DOI: 10.1109\/TSE.2002.1000449<\/a>","DOI":"10.1109\/TSE.2002.1000449"},{"key":"12","unstructured":"Jose Gabriel Silva Pereira. 2023. Analise de extens\u00e3o do CSDiff para uso em linguagens com poucos separadores sintaticos. Trabalho de Conclus\u00e3o de Curso. Universidade Federal de Pernambuco."},{"key":"13","doi-asserted-by":"crossref","unstructured":"Georg Seibt, Florian Heck, Guilherme Cavalcanti, Paulo Borba, and Sven Apel. 2021. Leveraging structure in software merge: An empirical study. IEEE Transactions on Software Engineering (2021).","DOI":"10.1109\/TSE.2021.3123143"},{"key":"14","doi-asserted-by":"crossref","unstructured":"Bo Shen,Wei Zhang, Haiyan Zhao, Guangtai Liang, Zhi Jin, and QianxiangWang. 2019. IntelliMerge: a refactoring-aware software merging technique. Proceedings of the ACM on Programming Languages OOPSLA (2019).","DOI":"10.1145\/3360596"},{"key":"15","unstructured":"Heitor Sammuel Carvalho Souza. 2021. Extens\u00e3o e an\u00e1lise de performance da ferramenta de merge textual CSDiff para novas linguagens. Trabalho de Conclus\u00e3o de Curso. Universidade Federal de Pernambuco."},{"key":"16","doi-asserted-by":"crossref","unstructured":"Alberto Trindade Tavares, Paulo Borba, Guilherme Cavalcanti, and S\u00e9rgio Soares. 2019. Semistructured merge in JavaScript systems. In 2019 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1014\u20131025.","DOI":"10.1109\/ASE.2019.00098"}],"event":{"name":"Simp\u00f3sio Brasileiro de Engenharia de Software","location":"Brasil","acronym":"SBES 2024","number":"38"},"container-title":["Anais do XXXVIII Simp\u00f3sio Brasileiro de Engenharia de Software (SBES 2024)"],"original-title":[],"link":[{"URL":"https:\/\/sol.sbc.org.br\/index.php\/sbes\/article\/download\/30366\/30172","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/sol.sbc.org.br\/index.php\/sbes\/article\/download\/30366\/30172","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,21]],"date-time":"2024-10-21T12:27:17Z","timestamp":1729513637000},"score":1,"resource":{"primary":{"URL":"https:\/\/sol.sbc.org.br\/index.php\/sbes\/article\/view\/30366"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9,30]]},"references-count":16,"URL":"https:\/\/doi.org\/10.5753\/sbes.2024.3395","relation":{},"subject":[],"published":{"date-parts":[[2024,9,30]]}}}