Test come Prompt: Un Benchmark di Sviluppo Guidato dai Test per la Generazione di Codice con LLM
Tests as Prompt: A Test-Driven-Development Benchmark for LLM Code Generation
May 13, 2025
Autori: Yi Cui
cs.AI
Abstract
Introduciamo WebApp1K, un nuovo benchmark per valutare i grandi modelli linguistici (LLM) in compiti di sviluppo guidato dai test (TDD), dove i casi di test fungono sia da prompt che da verifica per la generazione di codice. A differenza degli approcci tradizionali che si basano su prompt in linguaggio naturale, il nostro benchmark enfatizza la capacità degli LLM di interpretare e implementare funzionalità direttamente dai casi di test, riflettendo le pratiche di sviluppo software del mondo reale. Composto da 1000 sfide diverse in 20 domini applicativi, il benchmark valuta gli LLM sulla loro capacità di generare codice compatto e funzionale sotto i vincoli di lunghezza del contesto e complessità multi-funzionale. Le nostre scoperte evidenziano il rispetto delle istruzioni e l'apprendimento in contesto come capacità critiche per il successo nel TDD, superando l'importanza della competenza generale nella codifica o della conoscenza pre-addestrata. Attraverso una valutazione completa di 19 modelli all'avanguardia, riveliamo colli di bottiglia nelle prestazioni, come la perdita di istruzioni in prompt lunghi, e forniamo un'analisi dettagliata degli errori che copre molteplici cause principali. Questo lavoro sottolinea il valore pratico dei benchmark specifici per il TDD e getta le basi per avanzare le capacità degli LLM in scenari di codifica rigorosi e guidati dall'applicazione.
English
We introduce WebApp1K, a novel benchmark for evaluating large language models
(LLMs) in test-driven development (TDD) tasks, where test cases serve as both
prompt and verification for code generation. Unlike traditional approaches
relying on natural language prompts, our benchmark emphasizes the ability of
LLMs to interpret and implement functionality directly from test cases,
reflecting real-world software development practices. Comprising 1000 diverse
challenges across 20 application domains, the benchmark evaluates LLMs on their
ability to generate compact, functional code under the constraints of context
length and multi-feature complexity. Our findings highlight instruction
following and in-context learning as critical capabilities for TDD success,
surpassing the importance of general coding proficiency or pretraining
knowledge. Through comprehensive evaluation of 19 frontier models, we reveal
performance bottlenecks, such as instruction loss in long prompts, and provide
a detailed error analysis spanning multiple root causes. This work underscores
the practical value of TDD-specific benchmarks and lays the foundation for
advancing LLM capabilities in rigorous, application-driven coding scenarios.