ChatPaper.aiChatPaper

Esecuzione di Codice con Modelli Linguistici Pre-addestrati

Code Execution with Pre-trained Language Models

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

Abstract

L'esecuzione del codice è un aspetto fondamentale della semantica dei linguaggi di programmazione che riflette il comportamento esatto del codice. Tuttavia, la maggior parte dei modelli pre-addestrati per l'intelligenza del codice ignora la traccia di esecuzione e si basa esclusivamente sul codice sorgente e sulle strutture sintattiche. In questo articolo, indaghiamo quanto bene i modelli pre-addestrati possano comprendere ed eseguire il codice. Sviluppiamo una tecnica di aumento dei dati basata su mutazioni per creare un dataset Python su larga scala e realistico, nonché un task per l'esecuzione del codice, che mette alla prova modelli esistenti come Codex. Presentiamo quindi CodeExecutor, un modello Transformer che sfrutta il pre-addestramento sull'esecuzione del codice e l'apprendimento curriculare per migliorare la sua comprensione semantica. Valutiamo CodeExecutor sull'esecuzione del codice e ne mostriamo le prestazioni promettenti e i limiti. Dimostriamo inoltre i suoi potenziali benefici per task di intelligenza del codice come la ricerca codice-a-codice zero-shot e la generazione testo-a-codice. La nostra analisi fornisce approfondimenti sulle capacità di apprendimento e generalizzazione dei modelli pre-addestrati per l'esecuzione del codice.
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