Évaluation comparative des modèles d'IA en génie logiciel : Revue, outil de recherche et protocole d'amélioration
Benchmarking AI Models in Software Engineering: A Review, Search Tool, and Enhancement Protocol
March 7, 2025
Auteurs: Roham Koohestani, Philippe de Bekker, Maliheh Izadi
cs.AI
Résumé
Les benchmarks sont essentiels pour une évaluation cohérente et la reproductibilité. L'intégration de l'Intelligence Artificielle dans le Génie Logiciel (IA4GL) a donné naissance à de nombreux benchmarks pour des tâches telles que la génération de code et la correction de bugs. Cependant, cette prolifération présente des défis : (1) la dispersion des connaissances sur les benchmarks à travers les tâches, (2) la difficulté à sélectionner des benchmarks pertinents, (3) l'absence d'une norme uniforme pour le développement de benchmarks, et (4) les limitations des benchmarks existants. Dans cet article, nous passons en revue 173 études et identifions 204 benchmarks IA4GL. Nous classons ces benchmarks, analysons leurs limitations et mettons en lumière les lacunes dans les pratiques. Sur la base de notre revue, nous avons créé BenchScout, un outil de recherche sémantique pour trouver des benchmarks pertinents, en utilisant un regroupement automatique des contextes issus des études associées. Nous avons mené une étude utilisateur avec 22 participants pour évaluer la facilité d'utilisation, l'efficacité et l'intuitivité de BenchScout, qui ont obtenu des scores moyens de 4,5, 4,0 et 4,1 sur 5. Pour faire progresser les normes de benchmarking, nous proposons BenchFrame, une méthode unifiée pour améliorer la qualité des benchmarks. En tant qu'étude de cas, nous avons appliqué BenchFrame au benchmark HumanEval et avons abordé ses principales limitations. Cela a conduit à HumanEvalNext, qui présente (1) des erreurs corrigées, (2) une conversion de langage améliorée, (3) une couverture de test étendue et (4) une difficulté accrue. Nous avons ensuite évalué dix modèles de langage de code de pointe sur HumanEval, HumanEvalPlus et HumanEvalNext. Sur HumanEvalNext, les modèles ont montré une réduction du score pass@1 de 31,22 % et 19,94 % par rapport à HumanEval et HumanEvalPlus, respectivement.
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