Author:
Gupta Rahul,Kanade Aditya,Shevade Shirish
Abstract
Novice programmers often struggle with the formal syntax of programming languages. In the traditional classroom setting, they can make progress with the help of real time feedback from their instructors which is often impossible to get in the massive open online course (MOOC) setting. Syntactic error repair techniques have huge potential to assist them at scale. Towards this, 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 either supervision or any prior knowledge of the formal syntax of the programming language. We evaluate our technique on a publicly available dataset containing 6975 erroneous C programs with typographic errors, written by students during an introductory programming course. Our technique fixes 1699 (24.4%) programs completely and 1310 (18.8%) program partially, outperforming DeepFix, a state-of-the-art syntactic error repair technique, which uses a fully supervised neural machine translation approach.
Publisher
Association for the Advancement of Artificial Intelligence (AAAI)
Cited by
25 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Survey of Learning-based Automated Program Repair;ACM Transactions on Software Engineering and Methodology;2023-12-23
2. An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Code;2023 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM);2023-10-26
3. OrdinalFix: Fixing Compilation Errors via Shortest-Path CFL Reachability;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
4. Mining on Students’ Execution Logs and Repairing Compilation Errors Based on Deep Learning;Applied Sciences;2023-09-02
5. Evaluating Distance Measures for Program Repair;Proceedings of the 2023 ACM Conference on International Computing Education Research V.1;2023-08-07