On the Dichotomy of Debugging Behavior Among Programmers

Conference Paper (2018)
Author(s)

Moritz Beller (TU Delft - Software Engineering)

Niels Spruit (Student TU Delft)

Andy Zaidman (TU Delft - Software Engineering)

Diomidis Spinellis (Athens University of Economics and Business)

Research Group
Software Engineering
Copyright
© 2018 M.M. Beller, Niels Spruit, A.E. Zaidman, D. Spinellis
DOI related publication
https://doi.org/10.1145/3180155.3180175
More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 M.M. Beller, Niels Spruit, A.E. Zaidman, D. Spinellis
Research Group
Software Engineering
Pages (from-to)
572-583
ISBN (electronic)
978-1-4503-5638-1
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Debugging is an inevitable activity in most software projects, 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 on how 458 developers use the debugger included in their integrated development environments (IDEs) by instrumenting the popular ECLIPSE and INTELLIJ IDEs with the purpose-built plugin WATCHDOG 2.0. To clarify the insights and discrepancies observed in the previous steps, we followed up by conducting interviews with debugging experts and regular debugging users. Our results indicate that IDE-provided debuggers are not used as often as expected, because “printf debugging” remains a feasible choice for many programmers. Furthermore, both knowledge and use of advanced debugging features are low. Our results call for strengthening hands-on debugging experience in computer science curricula and have already refined the implementation of modern IDE debuggers.

Files

Paper.pdf
(pdf | 0.755 Mb)
- Embargo expired in 04-07-2022
License info not available