Skip navigation
Use este identificador para citar ou linkar para este item: https://repositorio.ufpe.br/handle/123456789/65490

Compartilhe esta página

Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorBORBA, Paulo Henrique Monteiro-
dc.contributor.authorBARBOSA, Nathalia Fernanda de Araújo Barbosa-
dc.date.accessioned2025-08-27T13:47:19Z-
dc.date.available2025-08-27T13:47:19Z-
dc.date.issued2025-08-11-
dc.date.submitted2025-08-22-
dc.identifier.citationBARBOSA, Nathalia Fernanda de Araújo. Detecção de conflitos semânticos com testes de unidade gerados por LLM. 2025. Trabalho de Conclusão de Curso (Engenharia da Computação) – Universidade Federal de Pernambuco, Recife, 2025.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/65490-
dc.description.abstractConflitos semânticos ocorrem quando um desenvolvedor introduz mudanças em uma base de código que afetam, de maneira não intencional, o comportamento de mudanças integradas em paralelo por outros desenvolvedores. Como as ferramentas de merge usadas na prática não conseguem detectar esse tipo de conflito, foram propostas ferramentas complementares, como o SMAT, que é baseada na geração e execução de testes de unidade — se um teste falha na versão base do código, passa na versão modificada por um desenvolvedor, mas falha novamente na versão resultante do merge dessa com a de outro desenvolvedor, sinaliza-se um conflito semântico. Apesar de apresentar boa capacidade de detecção de conflitos, o SMAT apresenta alta taxa de falsos negativos (conflitos existentes, mas não sinalizados pela mesma). Parte desse problema deve-se às limitações naturais de ferramentas de geração de testes de unidade, no caso, Randoop e Evosuite. Para entender se essas limitações podem ser superadas por modelos de linguagem de grande porte (LLMs), este trabalho propõe, e integra ao SMAT, uma nova ferramenta de geração de testes baseada no Code Llama 70B. Exploramos então a capacidade desse modelo de gerar testes, com diferentes estratégias de interação, prompts com diferentes conteúdos, e diferentes configurações de parâmetros do modelo. Avaliamos os resultados com duas amostras distintas: um benchmark com sistemas mais simples, usados em trabalhos relacionados, e uma amostra mais significativa baseada em sistemas complexos e utilizados na prática. Por fim, avaliamos a eficácia da nova extensão do SMAT na detecção de conflitos. Os resultados indicam que, embora a geração de testes por LLM em cenários complexos ainda represente um desafio e seja computacionalmente custosa, há potencial promissor na identificação de conflitos semânticos.pt_BR
dc.description.sponsorshipCNPqpt_BR
dc.format.extent31p.pt_BR
dc.language.isoporpt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttps://creativecommons.org/licenses/by-nc-nd/4.0/pt_BR
dc.subjectConflitos semânticos de códigopt_BR
dc.subjectGeração de testes de unidadept_BR
dc.subjectLLMspt_BR
dc.titleDetecção de conflitos semânticos com testes de unidade gerados por LLMpt_BR
dc.typebachelorThesispt_BR
dc.contributor.advisor-coSILVA, Léuson Mário Pedro da-
dc.contributor.authorLatteshttps://lattes.cnpq.br/3030996284029085pt_BR
dc.degree.levelGraduacaopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/9395715443254344pt_BR
dc.description.abstractxSemantic conflicts arise when a developer introduces changes to a codebase that unintentionally affect the behavior of changes integrated in parallel by other developers. Traditional merge tools are unable to detect such conflicts, so complementary tools like SMAT have been proposed. SMAT relies on generating and executing unit tests: if a test fails on the base version, passes on a developer’s modified version, but fails again after merging with another developer’s changes, a semantic conflict is indicated. While SMAT is effective at detecting conflicts, it suffers from a high rate of false negatives, partly due to the limitations of unit test generation tools such as Randoop and Evosuite. To investigate whether large language models (LLMs) can overcome these limitations, we propose and integrate a new test generation tool based on Code Llama 70B into SMAT. We explore the model’s ability to generate tests using different interaction strategies, prompt contents, and parameter configurations. Our evaluation uses two samples: a benchmark with simpler systems from related work, and a more significant sample based on complex, real-world systems. We assess the effectiveness of the new SMAT extension in detecting conflicts. Results indicate that although LLM-based test generation remains challenging and computationally expensive in complex scenarios, there is promising potential for improving semantic conflict detection.pt_BR
dc.subject.cnpqÁreas::Ciências Exatas e da Terrapt_BR
dc.degree.departament::(CIN-DCC) - Departamento de Ciência da Computaçãopt_BR
dc.degree.graduation::CIn-Curso de Engenharia da Computaçãopt_BR
dc.degree.grantorUniversidade Federal de Pernambucopt_BR
dc.degree.localRecifept_BR
dc.contributor.advisor-coLatteshttp://lattes.cnpq.br/8681457281512244pt_BR
dc.identifier.orcid0009-0008-9604-8901pt_BR
Aparece nas coleções:(TCC) - Engenharia da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TCC Nathalia Fernanda de Araújo Barbosa.pdf923,01 kBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons