Skip to main content
Article
Analysis of a Process for Introductory Debugging
ACE 2021: Twenty-Third Australasian Computing Education Conference (2021)
  • Jacqueline Whalley, Auckland University of Technology
  • Amber Settle
  • Andrew Luxton-Reilly, University of Auckland
Abstract
Debugging code is a complex task that requires knowledge about the mechanics of a programming language, the purpose of a given program, and an understanding of how the program achieves the purpose intended. It is generally accepted that prior experience with similar bugs improves the debugging process and that a systematic process is needed to be able to successfully move from the symptoms of a bug to the cause. Students who are learning to program may struggle with one or more aspect of debugging, and anecdotally, spend a lot of their time debugging faulty code.

In this paper we analyse student answers to questions designed to focus student attention on the symptoms of a bug and to use those symptoms to generate a hypothesis about the cause of a bug.  To ensure students focus on the symptoms rather than the code, we use paper-based exercises that ask students to reflect on various bugs and to hypothesize about the cause. We analyse the students' responses to the questions and find that using our structured process most students are able to generalize from a single failing test case to the likely problem in the code, but they are much less able to identify the appropriate location or an actual fix. 
Publication Date
January, 2021
DOI
https://doi.org/10.1145/3441636.3442300
Citation Information
Jacqueline Whalley, Amber Settle, and Andrew Luxton-Reilly. 2021. Analysis of a Process for Introductory Debugging. In Australasian Computing Education Conference (ACE ’21), February 2–4, 2021, Virtual, SA, Australia. ACM, New York, NY, USA, 10 pages. https://doi.org/10.1145/3441636.3442300