How developers debug

Delft University of Technology, Delft, The Netherlands
DOI
10.7287/peerj.preprints.2743v1
Subject Areas
Computer Education, Data Science, Software Engineering
Keywords
Debugging, Testing, Eclipse, IntelliJ, WatchDog
Copyright
© 2017 Beller et al.
Licence
This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Preprints) and either DOI or URL of the article must be cited.
Cite this article
Beller M, Spruit N, Zaidman A. 2017. How developers debug. PeerJ Preprints 5:e2743v1

Abstract

Debugging software is an inevitable chore, often difficult and more time-consuming than expected, giving it the nickname the “ dirty little secret of computer science.” Surprisingly, we have little knowledge on how software engineers debug software problems in the real world, whether they use dedicated debugging tools, and how knowledgeable they are about debugging. This study aims to shed light on these aspects by following a mixed-methods research approach. We conduct an online survey capturing how 176 developers reflect on debugging. We augment this subjective survey data with objective observations from how 458 developers use the debugger included in their Integrated Development Environments (IDEs) by instrumenting the popular ECLIPSE and INTELLIJ IDEs with our purpose-built plugin WATCHDOG 2.0. To better explain the insights and controversies obtained from the previous steps, we followed up by conducting interviews with debugging experts and regular debugging users. Our results indicate that the the IDE-provided debugger is not used as often as expected, since “printf debugging” remains a feasible choice for many programmers. Furthermore, both knowledge and use of advanced debugging features are low. Our results call to strengthen hands-on debugging experience in Computer Science curricula and can and have already influenced the design of modern IDE debuggers.

Author Comment

This is a slightly improved version of a paper that was first submitted for peer review in 2016.