Verifix: Verified Repair of Programming Assignments
Not on the map. Why?
Abstract (arXiv)
Automated feedback generation for introductory programming assignments is useful for programming education. Most works try to generate feedback to correct a student program by comparing its behavior with an instructor's reference program on selected tests. In this work, our aim is to generate verifiably correct program repairs as student feedback. The student assignment is aligned and composed with a reference solution in terms of control flow, and differences in data variables are automatically summarized via predicates to relate the variable names. Failed verification attempts for the equivalence of the two programs are exploited to obtain a collection of maxSMT queries, whose solutions point to repairs of the student assignment. We have conducted experiments on student assignments curated from a widely deployed intelligent tutoring system. Our results indicate that we can generate verified feedback in up to 58% of the assignments. More importantly, our system indicates when it is able to generate a verified feedback, which is then usable by novice students with high confidence.
Key facts. Cited by 7 papers in the map (data through 7 Oct 2026). First posted on arXiv 30 Jun 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 3; 2023: 1; 2024: 2; 2025: 0; 2026: 1.
7 papers.
- 2022Repairing Bugs in Python Assignments Using Large Language Modelscited by 28
- 2024Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localizationcited by 8
- 2022C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignmentscited by 5
- 2022InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignmentscited by 4
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Versioncited by 0
- 2024Peer-aided Repairer: Empowering Large Language Models to Repair Advanced Student Assignmentscited by 0
- 2026VeriPilot: An LLM-Powered Verilog Debugging Frameworkcited by 0
- 2026VeriPilot: An LLM-Powered Verilog Debugging Framework22 Jun 2026
- 2024Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization19 Dec 2024
- 2024Peer-aided Repairer: Empowering Large Language Models to Repair Advanced Student Assignments2 Apr 2024
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
- 2022Repairing Bugs in Python Assignments Using Large Language Models29 Sep 2022
- 2022InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments28 Jun 2022
- 2022C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments17 Jun 2022