Avaliação Comparativa de Modelos de IA em Engenharia de Software: Uma Revisão, Ferramenta de Busca e Protocolo de Aprimoramento
Benchmarking AI Models in Software Engineering: A Review, Search Tool, and Enhancement Protocol
March 7, 2025
Autores: Roham Koohestani, Philippe de Bekker, Maliheh Izadi
cs.AI
Resumo
Os benchmarks são essenciais para avaliação consistente e reprodutibilidade. A integração da Inteligência Artificial na Engenharia de Software (IA4SE) deu origem a inúmeros benchmarks para tarefas como geração de código e correção de bugs. No entanto, esse crescimento apresenta desafios: (1) conhecimento disperso sobre benchmarks entre tarefas, (2) dificuldade em selecionar benchmarks relevantes, (3) ausência de um padrão uniforme para o desenvolvimento de benchmarks e (4) limitações dos benchmarks existentes. Neste artigo, revisamos 173 estudos e identificamos 204 benchmarks de IA4SE. Classificamos esses benchmarks, analisamos suas limitações e expomos lacunas nas práticas. Com base em nossa revisão, criamos o BenchScout, uma ferramenta de busca semântica para encontrar benchmarks relevantes, utilizando agrupamento automatizado dos contextos dos estudos associados. Realizamos um estudo com 22 participantes para avaliar a usabilidade, eficácia e intuitividade do BenchScout, que resultou em pontuações médias de 4,5, 4,0 e 4,1 em uma escala de 5. Para avançar os padrões de benchmarking, propomos o BenchFrame, um método unificado para melhorar a qualidade dos benchmarks. Como estudo de caso, aplicamos o BenchFrame ao benchmark HumanEval e abordamos suas principais limitações. Isso resultou no HumanEvalNext, que apresenta (1) erros corrigidos, (2) conversão de linguagem aprimorada, (3) cobertura de testes expandida e (4) dificuldade aumentada. Em seguida, avaliamos dez modelos de linguagem de código state-of-the-art no HumanEval, HumanEvalPlus e HumanEvalNext. No HumanEvalNext, os modelos apresentaram uma redução de 31,22% e 19,94% na pontuação pass@1 em comparação com o HumanEval e o HumanEvalPlus, respectivamente.
English
Benchmarks are essential for consistent evaluation and reproducibility. The
integration of Artificial Intelligence into Software Engineering (AI4SE) has
given rise to numerous benchmarks for tasks such as code generation and bug
fixing. However, this surge presents challenges: (1) scattered benchmark
knowledge across tasks, (2) difficulty in selecting relevant benchmarks, (3)
the absence of a uniform standard for benchmark development, and (4)
limitations of existing benchmarks. In this paper, we review 173 studies and
identify 204 AI4SE benchmarks. We classify these benchmarks, analyze their
limitations, and expose gaps in practices. Based on our review, we created
BenchScout, a semantic search tool to find relevant benchmarks, using automated
clustering of the contexts from associated studies. We conducted a user study
with 22 participants to evaluate BenchScout's usability, effectiveness, and
intuitiveness which resulted in average scores of 4.5, 4.0, and 4.1 out of 5.
To advance benchmarking standards, we propose BenchFrame, a unified method to
enhance benchmark quality. As a case study, we applied BenchFrame to the
HumanEval benchmark and addressed its main limitations. This led to
HumanEvalNext, featuring (1) corrected errors, (2) improved language
conversion, (3) expanded test coverage, and (4) increased difficulty. We then
evaluated ten state-of-the-art code language models on HumanEval,
HumanEvalPlus, and HumanEvalNext. On HumanEvalNext, models showed a pass@1
score reduction of 31.22% and 19.94% compared to HumanEval and HumanEvalPlus,
respectively.Summary
AI-Generated Summary