Javascript must be enabled to continue!
How developers debug
View through CrossRef
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.
Title: How developers debug
Description:
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.
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.
Related Results
Cultivating Security: Debug Authentication for Ensuring the Security of SoC's Root of Trust
Cultivating Security: Debug Authentication for Ensuring the Security of SoC's Root of Trust
Abstract
Hardware-assisted debugging provides the necessary infrastructure for developers, testers and many other teams to closely monitor program behaviors at the microarc...
Home owners and developers relationships: exploring the cordiality factor
Home owners and developers relationships: exploring the cordiality factor
Purpose
– The cordiality of the relationship between home owners and house developers is significant in the house building sector. This plays a key role in meeting ...
Fixing Dockerfile smells: an empirical study
Fixing Dockerfile smells: an empirical study
AbstractDocker is the de facto standard for software containerization. A Dockerfile contains the requirements to build a Docker image containing a target application. There are sev...
Layers of Learning in Coach Developers’ Practice-Theories, Preparation and Delivery
Layers of Learning in Coach Developers’ Practice-Theories, Preparation and Delivery
Despite the centrality of coach developers to formal coach education settings, only a handful of studies have begun to touch upon the role they play in mediating quality learning, ...
INTRAPRENEURSHIP OF SOFTWARE DEVELOPERS IN YANGON, MYANMAR
INTRAPRENEURSHIP OF SOFTWARE DEVELOPERS IN YANGON, MYANMAR
Purpose- The purpose of this study is to explore the intrapreneurial behavior and innovative performance of software developers in Yangon. The specific objectives of this paper are...
Leveraging Lightning Web Components for Modern Salesforce UI Development
Leveraging Lightning Web Components for Modern Salesforce UI Development
The evolution of Salesforce's user interface (UI) development has been marked by significant advancements, with Lightning Web Components (LWC) emerging as a pivotal technology. LW...
The New Developer: AI Skill Threat, Identity Change & Developer Thriving in the Transition to AI-Assisted Software Development
The New Developer: AI Skill Threat, Identity Change & Developer Thriving in the Transition to AI-Assisted Software Development
In this research study, we share original empirical research with 3000+ software engineers and developers across 12+ industries engaged in the transition to Generative AI-assisted ...
The New Developer: AI Skill Threat, Identity Change & Developer Thriving in the Transition to AI-Assisted Software Development
The New Developer: AI Skill Threat, Identity Change & Developer Thriving in the Transition to AI-Assisted Software Development
In this research study, we share original empirical research with 3000+ software engineers and developers across 12+ industries engaged in the transition to Generative AI-assisted ...

