
Defesa de Tese de Doutorado de Heleno de Souza Campos Junior – 10/03/2025, 14h, na sala 310 do Instituto de Computação e por videoconferência
Link para defesa: https://meet.google.com/nms-zfek-odf
Search-Based Merge Conflict Resolution
Resumo:
Desenvolvedores de software frequentemente precisam unir contribuições, enfrentando conflitos de merge que dificultam o fluxo de desenvolvimento. A resolução manual desses conflitos é cansativa, custosa e interrompe o progresso da equipe. Embora existam técnicas que exploram aspectos sintáticos e semânticos dos programas para amenizar esses problemas, limitações de desempenho e corretude ainda dificultam sua adoção na prática.
Nesta tese, propomos uma abordagem que integra técnicas de aprendizado de máquina e métodos baseados em busca para tornar a resolução de conflitos mais eficiente. Primeiramente, classificamos os conflitos em dois tipos: conflitos straightforward, que podem ser resolvidos adotando uma das versões em conflito, concatenando-as ou descartando ambas; e conflitos mais complexos, que exigem a combinação de linhas das versões conflitantes. Para conflitos straightforward, empregamos aprendizado de máquina a fim de prever a estratégia de resolução pretendida pelo desenvolvedor, reduzindo o esforço e aprimorando a precisão. Em seguida, investigamos a viabilidade de aplicar métodos baseados em busca para gerar candidatos à resolução em conflitos mais complexos. Além disso, avaliamos a possibilidade de utilizar uma função heurística para mensurar a qualidade dos candidatos, evitando a necessidade de compilação e testes, ao correlacionar a similaridade entre candidatos e as versões conflitantes.
Com base nesses achados, implementamos a ferramenta SBCR (Search-Based Conflict Resolution) e a comparamos com o estado da arte, analisando milhares de conflitos reais de projetos open source. Observamos que a SBCR se destaca em cenários específicos, como quando as contribuições apresentam conteúdo não relacionado ao inglês ou quando o tamanho das partes conflitantes é equilibrado. Esses resultados indicam que a SBCR e outras abordagens existentes podem se complementar, oferecendo uma estratégia mais robusta e adaptável para a resolução automatizada de conflitos.
Por fim, discutimos oportunidades de melhoria, como o aperfeiçoamento da função heurística de avaliação de candidatos e a integração de nossas estratégias de aprendizado de máquina e busca, ampliando assim o espectro de conflitos que podem ser resolvidos automaticamente.
Abstract:
Software developers frequently need to merge their contributions, often facing challenging merge conflicts. Manual conflict resolution is tedious, costly, and disrupts development workflows. Although existing techniques leverage syntax and semantics of programs to mitigate this burden, issues related to performance and correctness hinder their practical adoption.
In this thesis, we propose a novel approach that integrates machine learning and search-based techniques to streamline conflict resolution. We categorize conflicts into two types: straightforward conflicts, which can be addressed by adopting one of the conflicting versions, concatenating them, or discarding both; and more complex conflicts, which require combining lines from the conflicting versions. For the straightforward category, we employ machine learning to predict the developer’s intended resolution strategy, reducing effort and improving accuracy. For more complex conflicts, we explore the feasibility of applying search-based methods to generate candidate resolutions. We also investigate a heuristic evaluation function for candidate solutions—an alternative to running compilation and tests—which correlates the similarity between candidate resolutions and the conflicting versions.
Guided by our findings, we implement SBCR, a search-based conflict resolution tool. We compare SBCR against the state-of-the-art approach using thousands of real conflicts from open-source projects, identifying scenarios where our approach excels, such as when conflicts involve non-English content or balanced contributions. These insights suggest that SBCR and existing tools can complement each other, offering a more robust, adaptive strategy for automated merge conflict resolution.
Finally, we outline future improvements, including refining the candidate evaluation function and integrating our machine learning and search-based strategies to broaden the range of automatically resolvable conflicts.
Banca examinadora:
Prof. Leonardo Gresta Paulino Murta, UFF – Presidente
Profa. Vânia de Oliveira Neves, UFF
Prof. Igor Machado Coelho, UFF
Prof. Márcio de Oliveira Barros, UNIRIO
Prof. Eduardo Soares Ogasawara, CEFET-RJ