GSO: Tarefas Desafiadoras de Otimização de Software para Avaliação de Agentes de Engenharia de Software
GSO: Challenging Software Optimization Tasks for Evaluating SWE-Agents
May 29, 2025
Autores: Manish Shetty, Naman Jain, Jinjian Liu, Vijay Kethanaboyina, Koushik Sen, Ion Stoica
cs.AI
Resumo
Desenvolver software de alto desempenho é uma tarefa complexa que requer expertise especializada. Apresentamos o GSO, um benchmark para avaliar as capacidades de modelos de linguagem no desenvolvimento de software de alto desempenho. Desenvolvemos um pipeline automatizado que gera e executa testes de desempenho para analisar históricos de commits em repositórios, identificando 102 tarefas desafiadoras de otimização em 10 bases de código, abrangendo diversos domínios e linguagens de programação. Um agente recebe uma base de código e um teste de desempenho como especificação precisa, e é incumbido de melhorar a eficiência de execução, que é medida em comparação com a otimização realizada por desenvolvedores especialistas. Nossa avaliação quantitativa revela que os principais SWE-Agents enfrentam dificuldades significativas, alcançando uma taxa de sucesso inferior a 5%, com melhorias limitadas mesmo com escalonamento no tempo de inferência. Nossa análise qualitativa identifica modos de falha principais, incluindo dificuldades com linguagens de baixo nível, prática de estratégias de otimização preguiçosa e desafios na localização precisa de gargalos. Disponibilizamos o código e os artefatos do nosso benchmark, juntamente com trajetórias dos agentes, para permitir pesquisas futuras.
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.