Please use this identifier to cite or link to this item: https://dspace.sti.ufcg.edu.br/handle/riufcg/48479
Full metadata record
DC FieldValueLanguage
dc.creator.IDGOMES, L. Q. L.pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/0199328157540945pt_BR
dc.contributor.advisor1LIRA, Melina Mongiovi Brito .-
dc.contributor.advisor1IDMONGIOVI, M.pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/7535849756393864pt_BR
dc.contributor.advisor2SOUTO, Sabrina de Figueirêdo.-
dc.contributor.advisor2IDSOUTO, S. F.pt_BR
dc.contributor.advisor2Latteshttp://lattes.cnpq.br/0595422027989879pt_BR
dc.contributor.referee1ALVES, Everton Leandro Galdino.-
dc.contributor.referee2MASSONI, Tiago Lima.-
dc.contributor.referee3MACHADO, Ivan do Carmo.-
dc.contributor.referee4ACCIOLY, Paola Rodrigues de Godoy.-
dc.description.resumoO 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.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentCentro de Engenharia Elétrica e Informática - CEEIpt_BR
dc.publisher.programPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOpt_BR
dc.publisher.initialsUFCGpt_BR
dc.subject.cnpqCiência da Computação.pt_BR
dc.titleThe hidden challenges of merging: a large-scale empirical study across merge tools.pt_BR
dc.description.abstractSoftware 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.pt_BR
dc.identifier.urihttps://dspace.sti.ufcg.edu.br/handle/riufcg/48479-
dc.date.accessioned2026-11-05T12:47:49Z-
dc.date.available2026-11-05-
dc.date.available2026-11-05T12:47:49Z-
dc.typeTesept_BR
dc.subjectMerge conflictspt_BR
dc.subjectMerge toolspt_BR
dc.subjectRefactoringpt_BR
dc.subjectRefactoring tacticpt_BR
dc.subjectMining software repositoriept_BR
dc.subjectConflitos de mesclagempt_BR
dc.subjectFerramentas de mesclagempt_BR
dc.subjectRefatoraçãopt_BR
dc.subjectTáticas de refatoraçãopt_BR
dc.subjectMineração de repositórios de softwarept_BR
dc.rightsAcesso Abertopt_BR
dc.creatorGOMES, Luciana de Queiroz Leal.-
dc.publisherUniversidade Federal de Campina Grandept_BR
dc.languageengpt_BR
dc.title.alternativeOs desafios ocultos da fusão: um estudo empírico em larga escala sobre diversas ferramentas de fusão.pt_BR
dc.identifier.citationGOMES, 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.pt_BR
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.