NuzzleBug: Debugging Block-Based Programs in Scratch Article Swipe
YOU?
·
· 2024
· Open Access
·
· DOI: https://doi.org/10.1145/3597503.3623331
· OA: W4387146963
While professional integrated programming environments support developers\nwith advanced debugging functionality, block-based programming environments for\nyoung learners often provide no support for debugging at all, thus inhibiting\ndebugging and preventing debugging education. In this paper we introduce\nNuzzleBug, an extension of the popular block-based programming environment\nScratch that provides the missing debugging support. NuzzleBug allows\ncontrolling the executions of Scratch programs with classical debugging\nfunctionality such as stepping and breakpoints, and it is an omniscient\ndebugger that also allows reverse stepping. To support learners in deriving\nhypotheses that guide debugging, NuzzleBug is an interrogative debugger that\nenables to ask questions about executions and provides answers explaining the\nbehavior in question. In order to evaluate NuzzleBug, we survey the opinions of\nteachers, and study the effects on learners in terms of debugging effectiveness\nand efficiency. We find that teachers consider NuzzleBug to be useful, and\nchildren can use it to debug faulty programs effectively. However, systematic\ndebugging requires dedicated training, and even when NuzzleBug can provide\ncorrect answers learners may require further help to comprehend faults and\nnecessary fixes, thus calling for further research on improving debugging\ntechniques and the information they provide.\n