mlsanityData to 14 Oct 2026

BugSpotter: Automated Generation of Code Debugging Exercises

arXiv 2411.14303 ↗First posted 21 Nov 2024cs.SE cs.AIcited by 5

Not on the map. Why?

Abstract (arXiv)

Debugging is an essential skill when learning to program, yet its instruction and emphasis often vary widely across introductory courses. In the era of code-generating large language models (LLMs), the ability for students to reason about code and identify errors is increasingly important. However, students frequently resort to trial-and-error methods to resolve bugs without fully understanding the underlying issues. Developing the ability to identify and hypothesize the cause of bugs is crucial but can be time-consuming to teach effectively through traditional means. This paper introduces BugSpotter, an innovative tool that leverages an LLM to generate buggy code from a problem description and verify the synthesized bugs via a test suite. Students interact with BugSpotter by designing failing test cases, where the buggy code's output differs from the expected result as defined by the problem specification. This not only provides opportunities for students to enhance their debugging skills, but also to practice reading and understanding problem specifications. We deployed BugSpotter in a large classroom setting and compared the debugging exercises it generated to exercises hand-crafted by an instructor for the same problems. We found that the LLM-generated exercises produced by BugSpotter varied in difficulty and were well-matched to the problem specifications. Importantly, the LLM-generated exercises were comparable to those manually created by instructors with respect to student performance, suggesting that BugSpotter could be an effective and efficient aid for learning debugging.

Key facts. Cited by 5 papers in the map (data through 14 Oct 2026). Builds on 12 of its 41 references that are in the map. First posted on arXiv 21 Nov 2024.

Builds on

12 of 41 references.

References · 12

  1. 2022Automatic Generation of Programming Exercises and Code Explanations using Large Language Modelscited by 126
  2. 2022Using Large Language Models to Enhance Programming Error Messagescited by 67
  3. 2023Generative AI for Programming Education: Benchmarking ChatGPT, GPT-4, and Human Tutorscited by 39
  4. 2023How to Teach Programming in the AI Era? Using LLMs as a Teachable Agent for Debuggingcited by 30
  5. 2023Automating Human Tutor-Style Programming Feedback: Leveraging GPT-4 Tutor Model for Hint Generation and GPT-3.5 Student Model for Hint Validationcited by 29
  6. 2020Synthesizing Tasks for Block-based Programmingcited by 19
  7. 2023Neural Task Synthesis for Visual Programmingcited by 13
  8. 2023Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzescited by 10
  9. 2023Large Language Models for In-Context Student Modeling: Synthesizing Student's Behavior in Visual Programmingcited by 8
  10. 2024Hints-In-Browser: Benchmarking Language Models for Programming Feedback Generationcited by 7
  11. 2023Decoding Logic Errors: A Comparative Study on Bug Detection by Students and Large Language Modelscited by 6
  12. 2024Benchmarking Generative Models on Computational Thinking Tests in Elementary Visual Programmingcited by 3

Built on by

Cited by year (2026 to 14 Oct)

Citing papers per year: 2025: 3; 2026: 2.

5 papers.