TraceDiff: Debugging Unexpected Code Behavior Using Trace Divergences

2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)(2017)

引用 18|浏览148
暂无评分
摘要
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.
更多
查看译文
关键词
TraceDiff,trace divergences,massive programming classrooms,programming assignments,manual feedback,design guidelines,feedback system,dynamic code execution,fixed code,feedback design,unexpected code behavior debugging,program synthesis,student submission debigging,personalized feedback generation,pedagogically useful hints design,teacher hint-giving practice analysis,online Q&A posts,program visualization techniques,incorrect code trace,visual debugging tool
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要