While professional integrated programming environments support developers with advanced debugging functionality, block-based programming environments for young learners often provide no support for debugging at all, thus inhibiting debugging and preventing debugging education. In this paper we introduce NuzzleBug, an extension of the popular block-based programming environment Scratch that provides the missing debugging support. NuzzleBug allows controlling the executions of Scratch programs with classical debugging functionality such as stepping and breakpoints, and it is an omniscient debugger that also allows reverse stepping. To support learners in deriving hypotheses that guide debugging, NuzzleBug is an interrogative debugger that enables to ask questions about executions and provides answers explaining the behavior in question. In order to evaluate NuzzleBug, we survey the opinions of teachers, and study the effects on learners in terms of debugging effectiveness and efficiency. We find that teachers consider NuzzleBug to be useful, and children can use it to debug faulty programs effectively. However, systematic debugging requires dedicated training, and even when NuzzleBug can provide correct answers learners may require further help to comprehend faults and necessary fixes, thus calling for further research on improving debugging techniques and the information they provide.
Thu 18 AprDisplayed time zone: Lisbon change
11:00 - 12:30 | Analysis and Debugging 2New Ideas and Emerging Results / Research Track at Luis de Freitas Branco Chair(s): Pedro Diniz | ||
11:00 15mTalk | Trace-based Multi-Dimensional Root Cause Localization of Performance Issues in Microservice Systems Research Track Chenxi Zhang Fudan University, Zhen Dong Fudan University, China, Xin Peng Fudan University, Bicheng Zhang Fudan University, Miao Chen Fudan University | ||
11:15 15mTalk | ReClues: Representing and indexing failures in parallel debugging with program variables Research Track Yi Song School of Computer Science, Wuhan University, Xihao Zhang School of Computer Science, Wuhan University, Xiaoyuan Xie School of Computer Science, Wuhan University, China, Quanming Liu School of Computer Science, Wuhan University, Ruizhi Gao Sonos Inc., Chenliang Xing School of Computer Science, Wuhan University | ||
11:30 15mTalk | PyAnalyzer: An Effective and Practical Approach for Dependency Extraction from Python Code Research Track Wuxia Jin Xi'an Jiaotong University, Shuo Xu Xi'an jiaotong university, Dawei Chen Xi'an Jiaotong University, Jiajun He Xi'an jiaotong university, Dinghong Zhong Xi'an jiaotong university, Ming Fan Xi'an Jiaotong University, Hongxu Chen Huawei Technologies Co., Ltd., Huijia Zhang Huawei Technologies Co Ltd, Ting Liu Xi'an Jiaotong University Media Attached | ||
11:45 15mTalk | Detecting Automatic Software Plagiarism via Token Sequence Normalization Research Track Timur Sağlam Karlsruhe Institute of Technology (KIT), Moritz Brödel Karlsruhe Institute of Technology (KIT), Larissa Schmid Karlsruhe Institute of Technology, Sebastian Hahner Karlsruhe Institute of Technology (KIT) DOI Pre-print | ||
12:00 15mTalk | NuzzleBug: Debugging Block-Based Programs in Scratch Research Track Pre-print | ||
12:15 7mTalk | Locating Buggy Segments in Quantum Program Debugging New Ideas and Emerging Results | ||
12:22 7mTalk | Beyond a Joke: Dead Code Elimination Can Delete Live Code New Ideas and Emerging Results Haoxin Tu Singapore Management University, Singapore, Lingxiao Jiang Singapore Management University, Debin Gao Singapore Management University, He Jiang Dalian University of Technology |