mlsanityData to 14 Oct 2026

Automated Clustering and Program Repair for Introductory Programming Assignments

arXiv 1603.03165 ↗First posted 10 Mar 2016cs.PLcited by 21

Not on the map. Why?

Abstract (arXiv)

Providing feedback on programming assignments is a tedious task for the instructor, and even impossible in large Massive Open Online Courses with thousands of students. Previous research has suggested that program repair techniques can be used to generate feedback in programming education. In this paper, we present a novel fully automated program repair algorithm for introductory programming assignments. The key idea of the technique, which enables automation and scalability, is to use the existing correct student solutions to repair the incorrect attempts. We evaluate the approach in two experiments: (I) We evaluate the number, size and quality of the generated repairs on 4,293 incorrect student attempts from an existing MOOC. We find that our approach can repair 97% of student attempts, while 81% of those are small repairs of good quality. (II) We conduct a preliminary user study on performance and repair usefulness in an interactive teaching setting. We obtain promising initial results (the average usefulness grade 3.4 on a scale from 1 to 5), and conclude that our approach can be used in an interactive setting.

Key facts. Cited by 21 papers in the map (data through 14 Oct 2026). First posted on arXiv 10 Mar 2016.

Builds on

No reference list yet.

Built on by

Cited by year (2026 to 14 Oct)

Citing papers per year: 2021: 2; 2022: 5; 2023: 8; 2024: 4; 2025: 1; 2026: 1.

21 papers.

Sort:

  1. 2022GitHub Copilot AI pair programmer: Asset or Liability?cited by 152
  2. 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 119
  3. 2023Is ChatGPT the Ultimate Programming Assistant -- How far is it?cited by 76
  4. 2023Generating High-Precision Feedback for Programming Syntax Errors using Large Language Modelscited by 34
  5. 2023Automating Human Tutor-Style Programming Feedback: Leveraging GPT-4 Tutor Model for Hint Generation and GPT-3.5 Student Model for Hint Validationcited by 29
  6. 2022Repairing Bugs in Python Assignments Using Large Language Modelscited by 28
  7. 2024Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localizationcited by 8
  8. 2024CursorCore: Assist Programming through Aligning Anythingcited by 7
  9. 2023Students' Perceptions and Preferences of Generative Artificial Intelligence Feedback for Programmingcited by 6
  10. 2022C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignmentscited by 5
  11. 2022InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignmentscited by 4
  12. 2023A review of clustering models in educational data science towards fairness-aware learningcited by 3
9 more
  1. 2023Program Repair with Minimal Edits Using CodeT5cited by 2
  2. 2024Benchmarking Educational Program Repaircited by 2
  3. 2025Navigating Pitfalls: Evaluating LLMs in Machine Learning Programming Educationcited by 2
  4. 2021Automating Program Structure Classificationcited by 1
  5. 2021ast2vec: Utilizing Recursive Neural Encodings of Python Programscited by 0
  6. 2022Efficient Feedback and Partial Credit Grading for Proof Blocks Problemscited by 0
  7. 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Versioncited by 0
  8. 2024Peer-aided Repairer: Empowering Large Language Models to Repair Advanced Student Assignmentscited by 0
  9. 2026An Explainable AI Assistant for Introductory Programming Education: Improving Feedback Reliability with Instructor-AI Collaborationcited by 0