TraceDiff: Debugging Unexpected Code Behavior Using Trace Divergences

08/12/2017
by   Ryo Suzuki, et al.
0

Recent advances in program synthesis offer means to automatically debug student submissions and generate personalized feedback in massive programming classrooms. When automatically generating feedback for programming assignments, a key challenge is designing pedagogically useful hints that are as effective as the manual feedback given by teachers. Through an analysis of teachers' hint-giving practices in 132 online Q&A posts, we establish three design guidelines that an effective feedback design should follow. Based on these guidelines, we develop a feedback system that leverages both program synthesis and visualization techniques. Our system compares the dynamic code execution of both incorrect and fixed code and highlights how the error leads to a difference in behavior and where the incorrect code trace diverges from the expected solution. Results from our study suggest that our system enables students to detect and fix bugs that are not caught by students using another existing visual debugging tool.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/17/2022

C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments

Due to the vast number of students enrolled in Massive Open Online Cours...
research
07/27/2022

A Multicriteria Evaluation for Data-Driven Programming Feedback Systems: Accuracy, Effectiveness, Fallibility, and Students' Response

Data-driven programming feedback systems can help novices to program in ...
research
07/13/2021

Automatic Classification of Error Types in Solutions to Programming Assignments at Online Learning Platform

Online programming courses are becoming more and more popular, but they ...
research
04/08/2012

Automated Feedback Generation for Introductory Programming Assignments

We present a new method for automatically providing feedback for introdu...
research
06/03/2022

Automated Feedback Generation for Competition-Level Code

Competitive programming has become a popular way for programmers to test...
research
07/14/2021

FAPR: Fast and Accurate Program Repair for Introductory Programming Courses

In introductory programming courses, it is challenging for instructors t...
research
06/02/2021

Automatic Assessment of the Design Quality of Python Programs with Personalized Feedback

The assessment of program functionality can generally be accomplished wi...

Please sign up or login with your details

Forgot password? Click here to reset