SURGE : Sur le potentiel des grands modèles de langage en tant qu'exécuteurs de code de substitution polyvalents
SURGE: On the Potential of Large Language Models as General-Purpose Surrogate Code Executors
February 16, 2025
Auteurs: Bohan Lyu, Siqiao Huang, Zichen Liang
cs.AI
Résumé
Les grands modèles de langage (LLM) ont démontré des capacités remarquables dans les tâches liées au code, telles que la compréhension du code et la génération de code. Cependant, une question tout aussi importante mais peu explorée est de savoir si les LLM peuvent servir de code exécuteur de substitution polyvalent, pour prédire la sortie et le comportement d'un programme sans le lancer réellement. Pour étudier systématiquement cette capacité, nous introduisons SURGE, un banc d'essai complet couvrant huit aspects clés : tâches de programmation multi-langages, problèmes de programmation de niveau compétitif, analyse de code au niveau du référentiel, calcul scientifique à coût élevé, algorithmes intensifs en complexité temporelle, analyse de code bogué, programmes dépendant de compilateurs ou environnements d'exécution spécifiques, et vérification de preuves mathématiques formelles. Nous évaluons plusieurs LLM open source et propriétaires sur SURGE et menons une étude d'échelle pour analyser l'impact de la taille du modèle et de l'échelle des données d'entraînement sur l'exactitude de l'exécution de substitution. De plus, nous catégorisons les erreurs de prédiction du modèle et explorons des domaines potentiels d'amélioration. Nos résultats indiquent que bien que les LLM puissent prédire les résultats de l'exécution du code dans certains cas, ils présentent des limites dans l'exécution de substitution polyvalente. Cette étude fournit des informations empiriques sur la faisabilité d'utiliser les LLM en tant qu'exécuteurs de code de substitution. Le code et l'ensemble de données sont publiés sur 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