Please use this identifier to cite or link to this item: https://dspace.sti.ufcg.edu.br/handle/riufcg/48479
Title: The hidden challenges of merging: a large-scale empirical study across merge tools.
Other Titles: Os desafios ocultos da fusão: um estudo empírico em larga escala sobre diversas ferramentas de fusão.
???metadata.dc.creator???: GOMES, Luciana de Queiroz Leal.
???metadata.dc.contributor.advisor1???: LIRA, Melina Mongiovi Brito .
???metadata.dc.contributor.advisor2???: SOUTO, Sabrina de Figueirêdo.
???metadata.dc.contributor.referee1???: ALVES, Everton Leandro Galdino.
???metadata.dc.contributor.referee2???: MASSONI, Tiago Lima.
???metadata.dc.contributor.referee3???: MACHADO, Ivan do Carmo.
???metadata.dc.contributor.referee4???: ACCIOLY, Paola Rodrigues de Godoy.
Keywords: Merge conflicts;Merge tools;Refactoring;Refactoring tactic;Mining software repositorie;Conflitos de mesclagem;Ferramentas de mesclagem;Refatoração;Táticas de refatoração;Mineração de repositórios de software
Publisher: Universidade Federal de Campina Grande
Citation: GOMES, Luciana de Queiroz Leal. The hidden challenges of merging: a large-scale empirical study across merge tools. 2026. 109 f. Tese (Doutorado em ciência da computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2026.
???metadata.dc.description.resumo???: O desenvolvimento de software evoluiu de abordagens centralizadas para colaborativas, com Sistemas de Controle de Versão (VCSs), como o Git, facilitando a integração por meio de op erações de mesclagem. No entanto, conflitos de mesclagem que surgem durante a integração de código podem atrasar projetos e reduzir a produtividade. Este estudo investiga fatores que influenciam tais conflitos analisando os resultados de três ferramentas de mesclagem: Git, jFSTMerge e IntelliMerge. O Git é uma ferramenta baseada em texto amplamente utilizada, enquanto o jFSTMerge e o IntelliMerge são ferramentas que mesclam arquivos escritos em linguagem Java, projetadas para lidar com cenários mais complexos. Analisamos mais de 507.000 cenários de mesclagem de 530 projetos Java hospedados no GitHub, considerando cinco fatores: o número de commits evolutivos (os commits com alterações que levam a um conflito), o número de desenvolvedores, o número de refatorações, o número de regiões de refatoração e o número de refatorações nos ramos (pais) esquerdo e direito da mesclagem. Embora a refatoração vise melhorar a qualidade do código, ela também pode intensificar esses conflitos. Encontramos evidências de que cerca de 43% dos cenários com conflito no Git, 32% no jFSTMerge e 37% no IntelliMerge podem estar relacionados a refatorações. Além disso, os cenários com conflito no Git que envolviam refatorações também estavam associados a tempos de integração mais longos. As refatorações apresentaram uma forte associação com conflitos de mesclagem em todas as ferramentas. Após controlar variáveis de magnitude de mudança, como code churn e o número de arquivos modificados, as refa torações permanecem fortemente associadas a conflitos de mesclagem, aumentando a proba bilidade de conflito para cerca de 58% em nosso conjunto de dados do Git. Entre os 62 tipos de refatoração identificados, um subconjunto consistente (33,8%), incluindo renomeação, movimentação de classes e extração de métodos, aparece frequentemente em conflitos em todas as ferramentas. Também classificamos as refatorações por tática, como puras ou floss, constatando que 65% dos cenários com conflito envolvem refatorações do tipo floss e que conflitos envolvendo essa tática de refatoração tendem a exigir tempos de resolução ligeira mente maiores. De modo geral, nossos resultados sugerem que a refatoração não é apenas uma prática voltada para a melhoria da qualidade do código, mas também um fator associ ado à dinâmica do processo de mesclagem. Essas descobertas destacam a importância de planejar e coordenar cuidadosamente as refatorações. Desenvolvedores podem utilizar essas observações para definir diretrizes de mesclagem, enquanto pesquisadores podem basear-se nelas para projetar ou aprimorar ferramentas de mesclagem mais bem equipadas para lidar com alterações relacionadas à refatoração.
Abstract: Software development has shifted from centralized to collaborative approaches, with Ver sion Control Systems (VCSs), such as Git, facilitating integration through merge operations. However, merge conflicts that arise during code integration may delay projects and reduce productivity. This study investigates factors influencing merge conflicts by analyzing merge outcomes from three tools: Git, jFSTMerge, and IntelliMerge. Git is a widely used text based tool, whereas jFSTMerge and IntelliMerge are state-of-the-art Java merge tools de signed to handle more complex scenarios. We analyzed over 507,000 merge scenarios from 530 Java projects on GitHub, considering five factors: the number of evolutionary commits (the commits with changes that lead to a merge conflict), the number of developers, the num ber of refactorings, the number of refactoring regions, and the number of refactorings in the left and right merge parents. While refactoring aims to improve code quality, it may also intensify these conflicts. We found evidence that nearly 43% of Git, 32% of jFSTMerge, and 37% of IntelliMerge conflicting scenarios may be related to refactorings. Additionally, Git’s conflicting scenarios involving refactorings were also associated with longer resolution times. Refactorings show a strong association with merge conflicts across all tools. After controlling for change-magnitude variables, such as code churn and the number of modified files, refactorings remain strongly associated with merge conflicts. The presence of refac torings also increased the likelihood of a conflict to about 58% in our Git dataset. Among the 62 refactoring types identified, a consistent subset (33.8%), including renaming, moving classes, and extracting methods, frequently appears in conflicts across all tools. We also clas sify refactorings by tactic as pure or floss, finding that 65% of conflicting scenarios involve floss refactorings. Additionally, conflicts involving floss refactorings tend to require slightly longer resolution times. Overall, our results suggest that refactoring is not only a practice aimed at improving code quality, but also a factor associated with the dynamics of the merg ing process. These findings highlight the importance of carefully planning and coordinating refactorings. Developers may use these observations to define merging guidelines, while researchers may build on them to design or improve merge tools better equipped to handle refactoring-related changes.
Keywords: Merge conflicts
Merge tools
Refactoring
Refactoring tactic
Mining software repositorie
Conflitos de mesclagem
Ferramentas de mesclagem
Refatoração
Táticas de refatoração
Mineração de repositórios de software
???metadata.dc.subject.cnpq???: Ciência da Computação.
URI: https://dspace.sti.ufcg.edu.br/handle/riufcg/48479
Appears in Collections:Doutorado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
LUCIANA DE QUEIROZ LEAL GOMES - TESE (PPGCC) 2026.pdf6.15 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.