Valutazione Comparativa dei Modelli di IA nell'Ingegneria del Software: Una Revisione, Strumento di Ricerca e Protocollo di Miglioramento
Benchmarking AI Models in Software Engineering: A Review, Search Tool, and Enhancement Protocol
March 7, 2025
Autori: Roham Koohestani, Philippe de Bekker, Maliheh Izadi
cs.AI
Abstract
I benchmark sono essenziali per una valutazione coerente e la riproducibilità. L'integrazione dell'Intelligenza Artificiale nell'Ingegneria del Software (AI4SE) ha dato origine a numerosi benchmark per attività come la generazione di codice e la correzione di bug. Tuttavia, questa proliferazione presenta diverse sfide: (1) la conoscenza sui benchmark è dispersa tra diverse attività, (2) la difficoltà nella selezione di benchmark rilevanti, (3) l'assenza di uno standard uniforme per lo sviluppo dei benchmark e (4) le limitazioni dei benchmark esistenti. In questo articolo, esaminiamo 173 studi e identifichiamo 204 benchmark AI4SE. Classifichiamo questi benchmark, analizziamo le loro limitazioni e evidenziamo lacune nelle pratiche. Sulla base della nostra revisione, abbiamo creato BenchScout, uno strumento di ricerca semantica per trovare benchmark rilevanti, utilizzando il clustering automatico dei contesti derivanti dagli studi associati. Abbiamo condotto uno studio con 22 partecipanti per valutare l'usabilità, l'efficacia e l'intuitività di BenchScout, ottenendo punteggi medi di 4.5, 4.0 e 4.1 su 5. Per avanzare gli standard di benchmarking, proponiamo BenchFrame, un metodo unificato per migliorare la qualità dei benchmark. Come caso di studio, abbiamo applicato BenchFrame al benchmark HumanEval, affrontandone le principali limitazioni. Ciò ha portato a HumanEvalNext, che include (1) errori corretti, (2) una migliore conversione linguistica, (3) una copertura dei test ampliata e (4) una difficoltà aumentata. Abbiamo quindi valutato dieci modelli linguistici di codice all'avanguardia su HumanEval, HumanEvalPlus e HumanEvalNext. Su HumanEvalNext, i modelli hanno mostrato una riduzione del punteggio pass@1 del 31.22% e del 19.94% rispetto a HumanEval e HumanEvalPlus, rispettivamente.
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.