Dissertação
Automated Program Repair for ARM Assembly Code Using LLMs EVALUATED
Corrigir código assembly ARM manualmente é uma tarefa complexa e demorada, porém importante na GMV, onde a correção eficiente de bugs é fundamental para atingir proficiência no projeto AIR. Esta dissertação aborda este desafio aplicando técnicas de Automated Program Repair (APR) utilizando Large Language Models (LLMs). No entanto, adaptar estes modelos para assembly ARM é difícil devido à complexidade do código de baixo nível e à escassez de exemplos reais de bugs. Para resolver estes problemas, foram testados dez modelos usando aprendizagem zero-shot, fine-tuning e Retrieval-Augmented Generation (RAG). Um conjunto de dados de bugs reais e sintéticos de assembly, com descrições em língua natural e correções, foi desenvolvido para treino e avaliação. Adicionalmente, foi desenvolvida uma abordagem conversacional para refinar iterativamente correções melhorando a reparação de bugs através de feedback e interação. Os resultados demonstraram que RAG com all-MiniLM-L6-v2 como recuperador superou consistentemente a aprendizagem zero-shot nos modelos base e fine-tuned. Os modelos fine-tuned também melhoraram com RAG. Os modelos base GPT-4o e Claude-3.5-Sonnet alcançaram as maiores taxas de acerto, enquanto menores, como GPT-4o-mini, Llama3-8b e Gemma2-9b, foram competitivos. A dissertação culminou no desenvolvimento do AIRaider, uma ferramenta que integra estas técnicas numa solução prática para automatizar a correção de bugs na GMV. AIRaider melhora iterativamente a geração de correções e orienta os desenvolvedores para soluções corretas. Apesar do sucesso, o sistema depende de dados sintéticos e foca-se em bugs lógicos e estruturais. Trabalhos futuros devem incorporar bugs reais e explorar ferramentas de depuração para aumentar as capacidades do AIRaider.
novembro 29, 2024, 10:30
Documentos da dissertação ainda não disponíveis publicamente
Orientação
ORIENTADOR
Departamento de Engenharia Informática (DEI)
Professor Associado
ORIENTADOR
Arlindo Manuel Limede de Oliveira
Departamento de Engenharia Informática (DEI)
Professor Catedrático