LGAICLPLJan 31, 2023

Execution-based Code Generation using Deep Reinforcement Learning

arXiv:2301.13816v4113 citationsh-index: 46
Originality Incremental advance
AI Analysis

This work addresses the challenge of generating more reliable and correct code for software engineering automation, representing an incremental advancement by integrating reinforcement learning into existing pre-trained models.

The paper tackles the problem of code generation by addressing the neglect of code-specific characteristics like compilability and correctness in current methods, proposing PPOCoder, a framework that combines pre-trained programming language models with reinforcement learning using execution feedback, which achieved significant improvements in compilation success rates and functional correctness across multiple programming languages.

The utilization of programming language (PL) models, pre-trained on large-scale code corpora, as a means of automating software engineering processes has demonstrated considerable potential in streamlining various code generation tasks such as code completion, code translation, and program synthesis. However, current approaches mainly rely on supervised fine-tuning objectives borrowed from text generation, neglecting unique sequence-level characteristics of code, including but not limited to compilability as well as syntactic and functional correctness. To address this limitation, we propose PPOCoder, a new framework for code generation that synergistically combines pre-trained PL models with Proximal Policy Optimization (PPO) which is a widely used deep reinforcement learning technique. By utilizing non-differentiable feedback from code execution and structure alignment, PPOCoder seamlessly integrates external code-specific knowledge into the model optimization process. It's important to note that PPOCoder is a task-agnostic and model-agnostic framework that can be used across different code generation tasks and PLs. Extensive experiments on three code generation tasks demonstrate the effectiveness of our proposed approach compared to SOTA methods, achieving significant improvements in compilation success rates and functional correctness across different PLs.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes