Debugging: an analysis of bug-location strategies

  • Authors:
  • Irvin R. Katz;John R. Anderson

  • Affiliations:
  • Department of Psychology, Carnegie Mellon University, Pittsburgh, PA;Department of Psychology, Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • Human-Computer Interaction
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article presents a series of four experiments investigating students' debugging of LISP programs. The experiments involve a population of students who know LISP reasonably well in that their errors are best classified as slips (Brown & Van Lehn, 1980). That is, students are unlikely to repeat the same errors either within their program or across programs (Experiment 1). The students' understanding of LISP is also reflected in their debugging behavior: They can usually fix a bug once they locate it. Students' difficulties are in locating the erroneous line of code. We observe that students use a variety of bug-location strategies during debugging (Experiment 2) and that the choice of strategy differs depending on whether students are debugging their own programs or other students' programs (Experiment 3). In addition, we observe that although the different bug-location strategies affect which lines of a program are searched, once students decide on a line, their ability to judge whether or not the line is correct and their ability to correct an error are not substantially affected by the strategy used to locate the line (Experiment 4). Finally, we argue that our results have implications not only for debugging in other computer languages, but for the general processes involved in troubleshooting as well.