SURGE: Sul Potenziale dei Modelli Linguistici di Grande Scala come Esecutori Surrogati a Scopo Generale per il Codice
SURGE: On the Potential of Large Language Models as General-Purpose Surrogate Code Executors
February 16, 2025
Autori: Bohan Lyu, Siqiao Huang, Zichen Liang
cs.AI
Abstract
I grandi modelli linguistici (LLM) hanno dimostrato capacità notevoli in compiti legati al codice, come la comprensione e la generazione di codice. Tuttavia, una questione altrettanto importante ma ancora poco esplorata è se gli LLM possano fungere da esecutori di codice surrogati a scopo generale, per prevedere l'output e il comportamento di un programma senza eseguirlo effettivamente. Per indagare sistematicamente questa capacità, introduciamo SURGE, un benchmark completo che copre otto aspetti chiave: compiti di programmazione multi-linguaggio, problemi di programmazione di livello competitivo, analisi di codice a livello di repository, calcolo scientifico ad alto costo, algoritmi intensivi in termini di complessità temporale, analisi di codice con bug, programmi dipendenti da compilatori o ambienti di esecuzione specifici e verifica di dimostrazioni matematiche formali. Valutiamo diversi LLM open-source e proprietari su SURGE e conduciamo uno studio di scalabilità per analizzare l'impatto delle dimensioni del modello e della scala dei dati di addestramento sull'accuratezza dell'esecuzione surrogata. Inoltre, categorizziamo gli errori di previsione del modello ed esploriamo potenziali aree di miglioramento. I nostri risultati indicano che, sebbene gli LLM possano prevedere i risultati dell'esecuzione del codice in alcuni casi, mostrano limitazioni nell'esecuzione surrogata a scopo generale. Questo studio fornisce intuizioni empiriche sulla fattibilità dell'uso degli LLM come esecutori di codice surrogati. Codice e dataset sono rilasciati su 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