Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural Networks
Not on the map. Why?
Abstract (arXiv)
We present a method for automatically generating repair feedback for syntax errors for introductory programming problems. Syntax errors constitute one of the largest classes of errors (34%) in our dataset of student submissions obtained from a MOOC course on edX. The previous techniques for generating automated feed- back on programming assignments have focused on functional correctness and style considerations of student programs. These techniques analyze the program AST of the program and then perform some dynamic and symbolic analyses to compute repair feedback. Unfortunately, it is not possible to generate ASTs for student pro- grams with syntax errors and therefore the previous feedback techniques are not applicable in repairing syntax errors. We present a technique for providing feedback on syntax errors that uses Recurrent neural networks (RNNs) to model syntactically valid token sequences. Our approach is inspired from the recent work on learning language models from Big Code (large code corpus). For a given programming assignment, we first learn an RNN to model all valid token sequences using the set of syntactically correct student submissions. Then, for a student submission with syntax errors, we query the learnt RNN model with the prefix to- ken sequence to predict token sequences that can fix the error by either replacing or inserting the predicted token sequence at the error location. We evaluate our technique on over 14, 000 student submissions with syntax errors. Our technique can completely re- pair 31.69% (4501/14203) of submissions with syntax errors and in addition partially correct 6.39% (908/14203) of the submissions.
Key facts. Cited by 13 papers in the map (data through 7 Oct 2026). First posted on arXiv 19 Mar 2016.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 6; 2022: 3; 2023: 3; 2024: 0; 2025: 1.
13 papers.
Sort:
By area:
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2022Poison Attack and Defense on Deep Source Code Processing Modelscited by 8
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modelingcited by 7
- 2022Giving Feedback on Interactive Student Programs with Meta-Explorationcited by 6
- 2021Learning to Make Compiler Optimizations More Effectivecited by 4
- 2021Play to Grade: Testing Coding Games as Classifying Markov Decision Processcited by 3
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspectivecited by 3
- 2023Neural Machine Translation for Code Generationcited by 3
- 2025AuPair: Golden Example Pairs for Code Repaircited by 3
- 2023Program Repair with Minimal Edits Using CodeT5cited by 2
- 2021Assessing the Effectiveness of Syntactic Structure to Learn Code Edit Representationscited by 1
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisonscited by 0
1 more
- 2021Anomaly Detection with Neural Parsers That Never Rejectcited by 0
- 2025AuPair: Golden Example Pairs for Code Repair12 Feb 2025
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Program Repair with Minimal Edits Using CodeT526 Sep 2023
- 2023Neural Machine Translation for Code Generation22 May 2023
- 2022Giving Feedback on Interactive Student Programs with Meta-Exploration16 Nov 2022
- 2022Poison Attack and Defense on Deep Source Code Processing Models31 Oct 2022
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspective10 Feb 2022
- 2021Play to Grade: Testing Coding Games as Classifying Markov Decision Process27 Oct 2021
- 2021Anomaly Detection with Neural Parsers That Never Reject30 Jul 2021
- 2021Assessing the Effectiveness of Syntactic Structure to Learn Code Edit Representations11 Jun 2021
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modeling23 Mar 2021
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisons15 Mar 2021
1 more
- 2021Learning to Make Compiler Optimizations More Effective24 Feb 2021
- 2025AuPair: Golden Example Pairs for Code Repaircited by 3
- 2025AuPair: Golden Example Pairs for Code Repair12 Feb 2025
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modelingcited by 7
- 2022Giving Feedback on Interactive Student Programs with Meta-Explorationcited by 6
- 2021Learning to Make Compiler Optimizations More Effectivecited by 4
- 2021Play to Grade: Testing Coding Games as Classifying Markov Decision Processcited by 3
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspectivecited by 3
- 2023Neural Machine Translation for Code Generationcited by 3
- 2023Program Repair with Minimal Edits Using CodeT5cited by 2
- 2021Assessing the Effectiveness of Syntactic Structure to Learn Code Edit Representationscited by 1
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisonscited by 0
- 2021Anomaly Detection with Neural Parsers That Never Rejectcited by 0
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Program Repair with Minimal Edits Using CodeT526 Sep 2023
- 2023Neural Machine Translation for Code Generation22 May 2023
- 2022Giving Feedback on Interactive Student Programs with Meta-Exploration16 Nov 2022
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspective10 Feb 2022
- 2021Play to Grade: Testing Coding Games as Classifying Markov Decision Process27 Oct 2021
- 2021Anomaly Detection with Neural Parsers That Never Reject30 Jul 2021
- 2021Assessing the Effectiveness of Syntactic Structure to Learn Code Edit Representations11 Jun 2021
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modeling23 Mar 2021
- 2021Embedding Code Contexts for Cryptographic API Suggestion:New Methodologies and Comparisons15 Mar 2021
- 2021Learning to Make Compiler Optimizations More Effective24 Feb 2021