GSO: Compiti di Ottimizzazione Software Complessi per la Valutazione degli Agenti SWE
GSO: Challenging Software Optimization Tasks for Evaluating SWE-Agents
May 29, 2025
Autori: Manish Shetty, Naman Jain, Jinjian Liu, Vijay Kethanaboyina, Koushik Sen, Ion Stoica
cs.AI
Abstract
Lo sviluppo di software ad alte prestazioni è un compito complesso che richiede competenze specializzate. Introduciamo GSO, un benchmark per valutare le capacità dei modelli linguistici nello sviluppo di software ad alte prestazioni. Abbiamo sviluppato una pipeline automatizzata che genera ed esegue test di prestazione per analizzare le cronologie dei commit dei repository, identificando 102 compiti di ottimizzazione impegnativi in 10 codebase, che coprono diversi domini e linguaggi di programmazione. A un agente viene fornita una codebase e un test di prestazione come specifica precisa, con il compito di migliorare l'efficienza di runtime, che viene misurata rispetto all'ottimizzazione effettuata da sviluppatori esperti. La nostra valutazione quantitativa rivela che i principali SWE-Agenti incontrano notevoli difficoltà, raggiungendo un tasso di successo inferiore al 5%, con miglioramenti limitati anche con il ridimensionamento al momento dell'inferenza. La nostra analisi qualitativa identifica i principali modi di fallimento, tra cui difficoltà con linguaggi di basso livello, l'adozione di strategie di ottimizzazione pigre e le sfide nel localizzare con precisione i colli di bottiglia. Rilasciamo il codice e gli artefatti del nostro benchmark insieme alle traiettorie degli agenti per consentire future ricerche.
English
Developing high-performance software is a complex task that requires
specialized expertise. We introduce GSO, a benchmark for evaluating language
models' capabilities in developing high-performance software. We develop an
automated pipeline that generates and executes performance tests to analyze
repository commit histories to identify 102 challenging optimization tasks
across 10 codebases, spanning diverse domains and programming languages. An
agent is provided with a codebase and performance test as a precise
specification, and tasked to improve the runtime efficiency, which is measured
against the expert developer optimization. Our quantitative evaluation reveals
that leading SWE-Agents struggle significantly, achieving less than 5% success
rate, with limited improvements even with inference-time scaling. Our
qualitative analysis identifies key failure modes, including difficulties with
low-level languages, practicing lazy optimization strategies, and challenges in
accurately localizing bottlenecks. We release the code and artifacts of our
benchmark along with agent trajectories to enable future research.