Back to Search Start Over

Verifix: Verified Repair of Programming Assignments

Authors :
Umair Z. Ahmed
Zhiyu Fan
Jooyong Yi
Omar I. Al-Bataineh
Abhik Roychoudhury
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

Subjects :
Software

Details

ISSN :
15577392 and 1049331X
Volume :
31
Database :
OpenAIRE
Journal :
ACM Transactions on Software Engineering and Methodology
Accession number :
edsair.doi...........1d3a57be53bd13a975532b385153f554