Skip navigation
Por favor, use este identificador para citar o enlazar este ítem: https://repositorio.ufpe.br/handle/123456789/66002

Comparte esta pagina

Título : Ferramentas de integração de código: uma comparação entre merge estruturado e textual com separadores customizados
Autor : SILVA, Leonardo dos Anjos
Palabras clave : Integração de código; Conflitos de integração; Engenharia de software; Desenvolvimento de sistemas; Comparação de ferramentas
Fecha de publicación : 11-ago-2025
Citación : SILVA, Leonardo dos Anjos. Ferramentas de integração de código: uma comparação entre merge estruturado e textual com separadores customizados. 2025. Trabalho de Conclusão de Curso (Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2025.
Resumen : É comum no desenvolvimento de software ter desenvolvedores trabalhando em um mesmo projeto em paralelo. Suas mudanças são posteriormente combinadas em uma versão final do código com o auxílio de uma ferramenta de merge. Quando os colaboradores modificam um mesmo arquivo, ferramentas de integração podem reportar conflitos. Estes devem ser resolvidos manualmente pelo desenvolvedor que iniciou o processo de merge, o que consome tempo e pode levar à introdução de erros à aplicação. Pensando em tornar o processo de integração mais eficiente, diferentes abordagens para ferramentas de merge foram propostas, entre elas: merge estruturado, em que os códigos são interpretados e é feito um pareamento dos nós das árvores sintáticas das versões integradas; e merge textual com separadores customizados, em que o código é particionado por separadores sintáticos da linguagem (como "{", "}" e ";" em Java) e servido como entrada para um merge textual tradicional. Outros trabalhos estudaram como essas ferramentas se comparam com a solução padrão amplamente adotada - merge textual por linhas -, mas focaram apenas em uma linguagem de programação, como Java ou Python. Também não foi estudado como as abordagens estruturada e textual com separadores customizados se comparam entre si. Este trabalho visa preencher essas lacunas, estudando o comportamento destas soluções em cenários reais de projetos populares desenvolvidos em três linguagens de programação distintas: Go, JavaScript e Rust. Através da análise de métricas de acurácia, busca-se compreender as vantagens e limitações de cada método, contribuindo para discussões sobre a adoção de soluções mais eficazes. Os resultados mostram que o uso de uma abordagem estruturada diminui o número de cenários de integração com conflitos, mas com a desvantagem de deixar mais conflitos passarem despercebidos (falsos negativos), enquanto a ferramenta textual com separadores customizados pode funcionar como uma solução intermediária entre as abordagens puramente textual e estruturada.
URI : https://repositorio.ufpe.br/handle/123456789/66002
Aparece en las colecciones: (TCC) - Ciência da Computação

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
TCC Leonardo dos Anjos Silva.pdf1,69 MBAdobe PDFVisualizar/Abrir


Este ítem está protegido por copyright original



Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons