Evaluación Comparativa de Modelos de IA en Ingeniería de Software: Una Revisión, Herramienta de Búsqueda y Protocolo de Mejora
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
Resumen
Los puntos de referencia (benchmarks) son esenciales para una evaluación consistente y la reproducibilidad. La integración de la Inteligencia Artificial en la Ingeniería de Software (IA4SE) ha dado lugar a numerosos benchmarks para tareas como la generación de código y la corrección de errores. Sin embargo, este auge presenta desafíos: (1) conocimiento disperso de los benchmarks entre tareas, (2) dificultad para seleccionar benchmarks relevantes, (3) ausencia de un estándar uniforme para el desarrollo de benchmarks, y (4) limitaciones de los benchmarks existentes. En este artículo, revisamos 173 estudios e identificamos 204 benchmarks de IA4SE. Clasificamos estos benchmarks, analizamos sus limitaciones y exponemos brechas en las prácticas. Basándonos en nuestra revisión, creamos BenchScout, una herramienta de búsqueda semántica para encontrar benchmarks relevantes, utilizando agrupación automática de los contextos de los estudios asociados. Realizamos un estudio de usuario con 22 participantes para evaluar la usabilidad, efectividad e intuición de BenchScout, obteniendo puntuaciones promedio de 4.5, 4.0 y 4.1 sobre 5. Para avanzar en los estándares de benchmarking, proponemos BenchFrame, un método unificado para mejorar la calidad de los benchmarks. Como estudio de caso, aplicamos BenchFrame al benchmark HumanEval y abordamos sus principales limitaciones. Esto resultó en HumanEvalNext, que incluye (1) errores corregidos, (2) conversión de lenguaje mejorada, (3) cobertura de pruebas ampliada y (4) mayor dificultad. Luego, evaluamos diez modelos de lenguaje de código de última generación en HumanEval, HumanEvalPlus y HumanEvalNext. En HumanEvalNext, los modelos mostraron una reducción en la puntuación pass@1 del 31.22% y 19.94% en comparación con HumanEval y 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