paper-with-me

홈 › Papers

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

2016-03-19 · Sahil Bhatia, Rishabh Singh

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.

📄 PDF Abstract BibTeX arXiv:1603.06129

Code (0)

등록된 구현이 없습니다.

Tasks

valid

Similar Papers 제목 키워드 기반

Logic Error Localization in Student Programming Assignments Using Pseudocode and Graph Neural Networks

2024-10-11 · Zhenyu Xu, Kun Zhang, Victor S. Sheng

Pseudocode is extensively used in introductory programming courses to instruct computer science students in algorithm design, utilizing natural language to define algorithmic behaviors. This learning approach enables stu…

DiagnosticGraph Neural Network

Large Language Models (GPT) for automating feedback on programming assignments

2023-06-30 · Maciej Pankiewicz, Ryan S. Baker

Addressing the challenge of generating personalized feedback for programming assignments is demanding due to several factors, like the complexity of code syntax or different ways to correctly solve a task. In this experi…

Deep Reinforcement Learning for Programming Language Correction

2018-01-31 · Rahul Gupta, Aditya Kanade, Shirish Shevade

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+3

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

2022-06-28 · Pedro Orvalho, Mikoláš Janota, Vasco Manquinho

Due to the vast number of students enrolled in programming courses, there has been an increasing number of automated program repair techniques focused on introductory programming assignments (IPAs). Typically, such techn…

ClusteringProgram Repair

Repairing Bugs in Python Assignments Using Large Language Models

2022-09-29 · Jialu Zhang, José Cambronero, Sumit Gulwani, Vu Le 외

Students often make mistakes on their introductory programming assignments as part of their learning process. Unfortunately, providing custom repairs for these mistakes can require a substantial amount of time and effort…

ChunkingLanguage ModelingLanguage ModellingLarge Language Model+1