SURGE: Sobre o Potencial dos Modelos de Linguagem de Grande Escala como Executores Surrogate de Propósito Geral
SURGE: On the Potential of Large Language Models as General-Purpose Surrogate Code Executors
February 16, 2025
Autores: Bohan Lyu, Siqiao Huang, Zichen Liang
cs.AI
Resumo
Modelos de linguagem de grande escala (LLMs) têm demonstrado capacidades notáveis em tarefas relacionadas a código, como compreensão e geração de código. No entanto, uma questão igualmente importante, mas ainda pouco explorada, é se os LLMs podem servir como executores substitutos de código de propósito geral, capazes de prever a saída e o comportamento de um programa sem realmente executá-lo. Para investigar sistematicamente essa capacidade, introduzimos o SURGE, um benchmark abrangente que cobre oito aspectos principais: tarefas de programação em múltiplas linguagens, problemas de programação de nível competitivo, análise de código em nível de repositório, computação científica de alto custo, algoritmos intensivos em complexidade de tempo, análise de código com bugs, programas dependentes de compiladores ou ambientes de execução específicos e verificação de provas matemáticas formais. Avaliamos vários LLMs de código aberto e proprietários no SURGE e conduzimos um estudo de escalonamento para analisar o impacto do tamanho do modelo e da escala dos dados de treinamento na precisão da execução substituta. Além disso, categorizamos os erros de previsão dos modelos e exploramos áreas potenciais para melhoria. Nossos resultados indicam que, embora os LLMs possam prever os resultados da execução de código em certos casos, eles apresentam limitações na execução substituta de propósito geral. Este estudo fornece insights empíricos sobre a viabilidade de usar LLMs como executores substitutos de código. O código e o conjunto de dados são disponibilizados em https://github.com/Imbernoulli/SURGE.
English
Large language models (LLMs) have demonstrated remarkable capabilities in
code-related tasks, such as code understanding and code generation. However, an
equally important yet underexplored question is whether LLMs can serve as
general-purpose surrogate code executors, to predict the output and behavior of
a program without actually running it. To systematically investigate this
capability, we introduce SURGE, a comprehensive benchmark covering eight key
aspects: multi-language programming tasks, competition-level programming
problems, repository-level code analysis, high-cost scientific computing,
time-complexity-intensive algorithms, buggy code analysis, programs dependent
on specific compilers or execution environments, and formal mathematical proof
verification. We evaluate multiple open-source and proprietary LLMs on SURGE
and conduct a scaling study to analyze the impact of model size and training
data scale on surrogate execution accuracy. Additionally, we categorize model
prediction errors and explore potential areas for improvement. Our findings
indicate that while LLMs can predict code execution results in certain cases,
they exhibit limitations in general-purpose surrogate execution. This study
provides empirical insights into the feasibility of using LLMs as surrogate
code executors. Code and dataset are released at
https://github.com/Imbernoulli/SURGE.Summary
AI-Generated Summary