Deep Reinforcement Learning for Programming Language Correction
Rahul Gupta, Aditya Kanade, Shirish Shevade

TL;DR
This paper introduces a reinforcement learning-based framework for correcting programming language errors, enabling an agent to learn text editing actions directly from raw code without formal syntax knowledge, improving correction rates over existing methods.
Contribution
The paper presents a novel reinforcement learning approach for programming language correction that learns from raw code and uses expert demonstrations to enhance training efficiency.
Findings
Fixes 14% more erroneous programs than DeepFix.
Resolves 29% more compiler error messages.
Operates without requiring formal syntax knowledge.
Abstract
Novice programmers often struggle with the formal syntax of programming languages. To assist them, we design a novel programming language correction framework amenable to reinforcement learning. The framework allows an agent to mimic human actions for text navigation and editing. We demonstrate that the agent can be trained through self-exploration directly from the raw input, that is, program text itself, without any knowledge of the formal syntax of the programming language. We leverage expert demonstrations for one tenth of the training data to accelerate training. The proposed technique is evaluated on 6975 erroneous C programs with typographic errors, written by students during an introductory programming course. Our technique fixes 14% more programs and 29% more compiler error messages relative to those fixed by a state-of-the-art tool, DeepFix, which uses a fully supervised…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReinforcement Learning in Robotics · Robot Manipulation and Learning · Software Engineering Research
