Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural Networks

03/19/2016
by   Sahil Bhatia, et al.
0

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 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 correct 6.39

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/24/2023

Generating High-Precision Feedback for Programming Syntax Errors using Large Language Models

Large language models (LLMs), such as Codex, hold great promise in enhan...
research
06/28/2022

InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments

Due to the vast number of students enrolled in Massive Open Online Cours...
research
07/11/2023

What do LLMs need to Synthesize Correct Router Configurations?

We investigate whether Large Language Models (e.g., GPT-4) can synthesiz...
research
03/22/2021

ast2vec: Utilizing Recursive Neural Encodings of Python Programs

Educational datamining involves the application of datamining techniques...
research
11/20/2017

Dynamic Neural Program Embedding for Program Repair

Neural program embeddings have shown much promise recently for a variety...
research
05/28/2020

MACER: A Modular Framework for Accelerated Compilation Error Repair

Automated compilation error repair, the problem of suggesting fixes to b...
research
04/19/2018

Reducing Cascading Parsing Errors Through Fast Error Recovery

Syntax errors are generally easy to fix for humans, but not for parsers:...

Please sign up or login with your details

Forgot password? Click here to reset