Model-Driven Synthesis for Programming Tutors
This addresses a key challenge in programming education tools, though it appears incremental as it applies an existing method (program synthesis) to a new domain (tutoring).
The paper tackles the completeness problem in automated feedback for beginner programming exercises by using program synthesis to generate correct solutions that closely match student programs, enabling constructive feedback.
When giving automated feedback to a student working on a beginner's exercise, many programming tutors run into a completeness problem. On the one hand, we want a student to experiment freely. On the other hand, we want a student to write her program in such a way that we can provide constructive feedback. We propose to investigate how we can overcome this problem by using program synthesis, which we use to generate correct solutions that closely match a student program, and give feedback based on the results.