一句话:探索用大型语言模型解释 Scratch 程序分析发现的缺陷,并评估其缺陷推理能力。
Scratch 的程序分析工具能识别可能指示缺陷的积木块,但这些信息不足以帮助学习者理解并修复其误解和程序错误。本文提出使用大型语言模型(LLM)来解释程序分析发现的问题,并辅助学习者理解如何调试与修复。由于 Scratch 是可视化积木式代码,需要先转换为文本提示;论文研究了如何从 Scratch 程序及其缺陷生成最佳提示,并构建相关提示用于含缺陷 Scratch 程序数据集。实验表明,LLM 能够较好地推理 Scratch 程序中的缺陷,为面向年轻学习者的更强大调试辅助工具奠定基础。
Program analysis tools for the block-based programming environment Scratch support learners by identifying blocks indicative of bugs, which may be evidence of misconceptions and likely lead to faulty program behaviour. However, this information may not be sufficient to guide learners towards fixing both their misunderstandings and their programs. In this paper we therefore propose to use large language models (llms) as a means to explain the issues found by program analyses, and to help learners understand how to debug and fix these issues. While the power of modern llms has resulted in a surge of new support tools for text-based programming languages, Scratch programs pose additional challenges for llms: The visual, block-based code first needs to be converted to textual prompts for the llms, and even then is it unclear whether the llms can exhibit similar performance as for text-based programming languages with their abundant training data. We determine the best way of generating prompts from Scratch programs and their bugs, and use these prompts with a dataset of buggy Scratch programs to evaluate the ability of llms to reason about these bugs. Our experiments demonstrate that llms can reason well about bugs in Scratch programs, thus setting the scene for more powerful tools that assist young learners in debugging their programs.
@inproceedings{paperbot11962,
title = {Reasoning About Bugs in Learners’ Scratch Programs Using Large Language Models},
author = {Benedikt Fein and Patric Feldmeier and Gordon Fraser and Florian Obermüller},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3786580.3786949}
}