paperbot · PL 论文追踪

全部论文 待读 收藏

P2 NuzzleBug: Debugging Block-Based Programs in Scratch

NuzzleBug:在 Scratch 中调试基于积木的程序
ICSE Proceedings of the IEEE/ACM 46th International Conference on Software Engineering2024匹配度 1/10 · 该论文研究 Scratch 块编程环境中的调试器与教学效果,属于编程教育/HCI 方向,与用户的静态分析、LLM/Agent、浮点或贝叶斯程序分析等核心方向几乎没有交集。引用 16 inbox
Adina Deiner, Gordon Fraser
crossref: 2026-09-12

AI 速览

一句话:为 Scratch 实现支持步进、断点、反向执行与提问式解释的调试器,并评估其教学效果。

面向初学者的积木式编程环境通常不提供调试支持,既妨碍学习者排错,也使调试教学无从开展。本文提出 NuzzleBug——Scratch 的调试扩展,它将经典调试功能(单步执行、断点)引入积木程序的执行控制,并作为一个全知调试器(omniscient debugger)支持反向步进。为帮助学习者形成调试假设,NuzzleBug 还是一个提问式调试器(interrogative debugger):学习者可以就程序执行提问,系统给出解释相关行为的回答。评估包括对教师意见的问卷调查,以及在学习者中开展关于调试有效性与效率的研究。结果显示,教师认为 NuzzleBug 有用,儿童也能借助它有效调试出错程序;但系统化调试需要专门训练,即使 NuzzleBug 给出正确答案,学习者仍可能需要额外帮助才能理解错误原因与修复方式,因此作者呼吁进一步研究调试技术及其所提供信息的改进。

问题
面向年轻学习者的积木式编程环境(如 Scratch)普遍缺乏调试支持,导致学习者难以排错,也无法接受调试教育。
方法
实现 NuzzleBug:为 Scratch 扩展单步、断点与支持反向步进的全知调试功能,并加入提问式调试接口,让学习者就执行过程提问并获得行为解释。
评估
通过教师问卷调查收集意见,并在学习者中开展实验,衡量调试的有效性与效率,同时观察其对错误理解与修复的帮助程度。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot11392,
  title = {NuzzleBug: Debugging Block-Based Programs in Scratch},
  author = {Adina Deiner and Gordon Fraser},
  booktitle = {ICSE},
  year = {2024},
  doi = {10.1145/3597503.3623331}
}