ChatPaper.aiChatPaper

Execução de Código com Modelos de Linguagem Pré-treinados

Code Execution with Pre-trained Language Models

May 8, 2023
Autores: Chenxiao Liu, Shuai Lu, Weizhu Chen, Daxin Jiang, Alexey Svyatkovskiy, Shengyu Fu, Neel Sundaresan, Nan Duan
cs.AI

Resumo

A execução de código é um aspecto fundamental da semântica das linguagens de programação que reflete o comportamento exato do código. No entanto, a maioria dos modelos pré-treinados para inteligência de código ignora o rastreamento de execução e depende apenas do código-fonte e das estruturas sintáticas. Neste artigo, investigamos quão bem os modelos pré-treinados podem entender e realizar a execução de código. Desenvolvemos uma técnica de aumento de dados baseada em mutação para criar um conjunto de dados e uma tarefa de execução de código em Python em grande escala e realista, que desafia modelos existentes como o Codex. Em seguida, apresentamos o CodeExecutor, um modelo Transformer que aproveita o pré-treinamento em execução de código e a aprendizagem curricular para aprimorar sua compreensão semântica. Avaliamos o CodeExecutor na execução de código e mostramos seu desempenho promissor e suas limitações. Também demonstramos seus benefícios potenciais para tarefas de inteligência de código, como busca de código a código em zero-shot e geração de texto para código. Nossa análise fornece insights sobre as habilidades de aprendizagem e generalização dos modelos pré-treinados para execução de código.
English
Code execution is a fundamental aspect of programming language semantics that reflects the exact behavior of the code. However, most pre-trained models for code intelligence ignore the execution trace and only rely on source code and syntactic structures. In this paper, we investigate how well pre-trained models can understand and perform code execution. We develop a mutation-based data augmentation technique to create a large-scale and realistic Python dataset and task for code execution, which challenges existing models such as Codex. We then present CodeExecutor, a Transformer model that leverages code execution pre-training and curriculum learning to enhance its semantic comprehension. We evaluate CodeExecutor on code execution and show its promising performance and limitations. We also demonstrate its potential benefits for code intelligence tasks such as zero-shot code-to-code search and text-to-code generation. Our analysis provides insights into the learning and generalization abilities of pre-trained models for code execution.
PDF21February 21, 2026