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 DC | Valor | Idioma |
---|---|---|
dc.contributor.advisor | BORBA, Paulo Henrique Monteiro | - |
dc.contributor.author | BARBOSA, Nathalia Fernanda de Araújo Barbosa | - |
dc.date.accessioned | 2025-08-27T13:47:19Z | - |
dc.date.available | 2025-08-27T13:47:19Z | - |
dc.date.issued | 2025-08-11 | - |
dc.date.submitted | 2025-08-22 | - |
dc.identifier.citation | BARBOSA, 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.uri | https://repositorio.ufpe.br/handle/123456789/65490 | - |
dc.description.abstract | Conflitos 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.sponsorship | CNPq | pt_BR |
dc.format.extent | 31p. | pt_BR |
dc.language.iso | por | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights.uri | https://creativecommons.org/licenses/by-nc-nd/4.0/ | pt_BR |
dc.subject | Conflitos semânticos de código | pt_BR |
dc.subject | Geração de testes de unidade | pt_BR |
dc.subject | LLMs | pt_BR |
dc.title | Detecção de conflitos semânticos com testes de unidade gerados por LLM | pt_BR |
dc.type | bachelorThesis | pt_BR |
dc.contributor.advisor-co | SILVA, Léuson Mário Pedro da | - |
dc.contributor.authorLattes | https://lattes.cnpq.br/3030996284029085 | pt_BR |
dc.degree.level | Graduacao | pt_BR |
dc.contributor.advisorLattes | http://lattes.cnpq.br/9395715443254344 | pt_BR |
dc.description.abstractx | Semantic 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 Terra | pt_BR |
dc.degree.departament | ::(CIN-DCC) - Departamento de Ciência da Computação | pt_BR |
dc.degree.graduation | ::CIn-Curso de Engenharia da Computação | pt_BR |
dc.degree.grantor | Universidade Federal de Pernambuco | pt_BR |
dc.degree.local | Recife | pt_BR |
dc.contributor.advisor-coLattes | http://lattes.cnpq.br/8681457281512244 | pt_BR |
dc.identifier.orcid | 0009-0008-9604-8901 | pt_BR |
Aparece nas coleções: | (TCC) - Engenharia da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
TCC Nathalia Fernanda de Araújo Barbosa.pdf | 923,01 kB | Adobe PDF | ![]() Visualizar/Abrir |
Este arquivo é protegido por direitos autorais |
Este item está licenciada sob uma Licença Creative Commons