SURGE: О потенциале крупных языковых моделей в качестве универсальных исполнителей кода-заменителей.
SURGE: On the Potential of Large Language Models as General-Purpose Surrogate Code Executors
February 16, 2025
Авторы: Bohan Lyu, Siqiao Huang, Zichen Liang
cs.AI
Аннотация
Большие языковые модели (LLM) продемонстрировали выдающиеся возможности в задачах, связанных с кодом, таких как понимание кода и генерация кода. Однако одинаково важный, но недостаточно исследованный вопрос заключается в том, могут ли LLM служить в качестве универсальных заменителей исполнителей кода, чтобы предсказывать вывод и поведение программы без ее фактического запуска. Для систематического изучения этой возможности мы представляем SURGE, обширный бенчмарк, охватывающий восемь ключевых аспектов: задачи многих языков программирования, проблемы программирования на уровне соревнований, анализ кода на уровне репозитория, вычисления в области научных исследований высокой стоимости, алгоритмы с высокой вычислительной сложностью, анализ ошибок в коде, программы, зависящие от конкретных компиляторов или сред выполнения, и формальная математическая проверка доказательств. Мы оцениваем несколько открытых и закрытых LLM на SURGE и проводим исследование масштабирования для анализа влияния размера модели и масштаба обучающих данных на точность заменительного исполнения. Кроме того, мы классифицируем ошибки прогнозирования модели и исследуем потенциальные области для улучшения. Наши результаты показывают, что хотя LLM могут предсказывать результаты выполнения кода в определенных случаях, они проявляют ограничения в универсальном заменительном исполнении. Это исследование предоставляет эмпирические понимания о возможности использования LLM в качестве заменителей исполнителей кода. Код и набор данных доступны по ссылке 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