Back to Search
Start Over
Verifix: Verified Repair of Programming Assignments
- Source :
- ACM Transactions on Software Engineering and Methodology. 31:1-31
- Publication Year :
- 2022
- Publisher :
- Association for Computing Machinery (ACM), 2022.
-
Abstract
- 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. A student-submitted program is aligned and composed with a reference solution in terms of control flow, and the variables of the two programs are automatically aligned via predicates describing the relationship between the variables. When verification attempt for the obtained aligned program fails, we turn a verification problem into a MaxSMT problem whose solution leads to a minimal repair. We have conducted experiments on student assignments curated from a widely deployed intelligent tutoring system. Our results show that generating verified repair without sacrificing the overall repair rate is possible. In fact, our implementation, Verifix, is shown to outperform Clara, a state-of-the-art tool, in terms of repair rate. This shows the promise of using verified repair to generate high confidence feedback in programming pedagogy settings.
- Subjects :
- Software
Subjects
Details
- ISSN :
- 15577392 and 1049331X
- Volume :
- 31
- Database :
- OpenAIRE
- Journal :
- ACM Transactions on Software Engineering and Methodology
- Accession number :
- edsair.doi...........1d3a57be53bd13a975532b385153f554