What we can learn from how programmers debug their code

03/23/2021
by   Thomas Hirsch, et al.
0

Researchers have developed numerous debugging approaches to help programmers in the debugging process, but these approaches are rarely used in practice. In this paper, we investigate how programmers debug their code and what researchers should consider when developing debugging approaches. We conducted an online questionnaire where 102 programmers provided information about recently fixed bugs. We found that the majority of bugs (69.6 bugs. Memory and concurrency bugs do not occur as frequently (6.9 but they consume more debugging time. Locating a bug is more difficult than reproducing and fixing it. Programmers often use only IDE build-in tools for debugging. Furthermore, programmers frequently use a replication-observation-deduction pattern when debugging. These results suggest that debugging support is particularly valuable for memory and concurrency bugs. Furthermore, researchers should focus on the fault localization phase and integrate their tools into commonly used IDEs.

READ FULL TEXT
research
12/03/2019

An Empirical Investigation of Correlation between Code Complexity and Bugs

There have been many studies conducted on predicting bugs. These studies...
research
08/29/2021

BoostNSift: A Query Boosting and Code Sifting Technique for Method Level Bug Localization

Locating bugs is an important, but effort-intensive and time-consuming t...
research
08/16/2021

Effects of Hints on Debugging Scratch Programs: An Empirical Study with Primary School Teachers in Training

Bugs in learners' programs are often the result of fundamental misconcep...
research
08/18/2023

SHAPFUZZ: Efficient Fuzzing via Shapley-Guided Byte Selection

Mutation-based fuzzing is popular and effective in discovering unseen co...
research
10/07/2022

Understanding and Supporting Debugging Workflows in Multiverse Analysis

Multiverse analysis-a paradigm for statistical analysis that considers a...
research
07/19/2023

An Analysis of Bugs In Persistent Memory Application

Over the years of challenges on detecting the crash consistency of non-v...
research
02/27/2022

How to Debug Inclusivity Bugs? A Debugging Process with Information Architecture

Although some previous research has found ways to find inclusivity bugs ...

Please sign up or login with your details

Forgot password? Click here to reset