Affiliation:
1. National University of Singapore, Republic of Singapore
2. Ulsan National Institute of Science and Technology, South Korea
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.
Funder
Singapore Ministry of Education (MoE) Tier 3
National Research Foundation of Korea
Korea government
Institute for Information & Communications Technology Planning & Evaluation
Publisher
Association for Computing Machinery (ACM)
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. CREF: An LLM-Based Conversational Software Repair Framework for Programming Tutors;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. BRAFAR: Bidirectional Refactoring, Alignment, Fault Localization, and Repair for Programming Assignments;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
3. PyDex: Repairing Bugs in Introductory Python Assignments using LLMs;Proceedings of the ACM on Programming Languages;2024-04-29
4. APR Competition 2024;Proceedings of the 5th ACM/IEEE International Workshop on Automated Program Repair;2024-04-20
5. Automated Program Repair for Introductory Programming Assignments via Bidirectional Refactoring;Proceedings of the 5th ACM/IEEE International Workshop on Automated Program Repair;2024-04-20