DeepFix: Fixing Common C Language Errors by Deep Learning
The problem of automatically fixing programming errors is a very active research topic in software engineering. This is a challenging problem as fixing even a single error may require analysis of the entire program. In practice, a number of errors arise due to programmer’s inexperience with the programming language or lack of attention to detail. We call these common programming errors. These are analogous to grammatical errors in natural languages. Compilers detect such errors, but their error messages are usually inaccurate. In this work, we present an end-to-end solution, called DeepFix, that can fix multiple such errors in a program without relying on any external tool to locate or fix them. At the heart of DeepFix is a multi-layered sequence-to-sequence neural network with attention which is trained to predict erroneous program locations along with the required correct statements. On a set of 6971 erroneous C programs written by students for 93 programming tasks, DeepFix could fix 1881 (27%) programs completely and 1338 (19%) programs partially.
Code (1)
Tasks
Deep LearningProgram RepairSimilar Papers 제목 키워드 기반
MultiFix: Learning to Repair Multiple Errors by Optimal Alignment Learning
We consider the problem of learning to repair erroneous C programs by learning optimal alignments with correct programs. Since the previous approaches fix a single error in a line, it is inevitable to iterate the fixing …
Program RepairBreak-It-Fix-It: Unsupervised Learning for Program Repair
We consider repair tasks: given a critic (e.g., compiler) that assesses the quality of an input, the goal is to train a fixer that converts a bad example (e.g., code with syntax errors) into a good one (e.g., code with n…
C++ codeCode RepairData AugmentationDomain Adaptation+3Deep Reinforcement Learning for Programming Language Correction
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 a…
Deep Reinforcement LearningMachine TranslationProgram Repairreinforcement-learning+3DeepFix: A Fully Convolutional Neural Network for predicting Human Eye Fixations
Understanding and predicting the human visual attentional mechanism is an active area of research in the fields of neuroscience and computer vision. In this work, we propose DeepFix, a first-of-its-kind fully convolution…
Saliency Prediction