ChatPaper.aiChatPaper

Code-uitvoering met vooraf getrainde taalmodellen

Code Execution with Pre-trained Language Models

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

Samenvatting

Code-uitvoering is een fundamenteel aspect van programmeertaalsemantiek dat het exacte gedrag van de code weerspiegelt. De meeste vooraf getrainde modellen voor code-intelligentie negeren echter de uitvoeringstrace en vertrouwen alleen op broncode en syntactische structuren. In dit artikel onderzoeken we hoe goed vooraf getrainde modellen code-uitvoering kunnen begrijpen en uitvoeren. We ontwikkelen een op mutatie gebaseerde data-augmentatietechniek om een grootschalige en realistische Python-dataset en taak voor code-uitvoering te creëren, die bestaande modellen zoals Codex uitdaagt. Vervolgens presenteren we CodeExecutor, een Transformer-model dat gebruikmaakt van code-uitvoeringstraining en curriculumleren om zijn semantische begrip te verbeteren. We evalueren CodeExecutor op code-uitvoering en tonen zijn veelbelovende prestaties en beperkingen. We demonstreren ook de potentiële voordelen voor code-intelligentietaken zoals zero-shot code-naar-code zoeken en tekst-naar-code generatie. Onze analyse biedt inzicht in de leer- en generaliseervermogens van vooraf getrainde modellen voor code-uitvoering.
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