Using Hypotheses as a Debugging Aid

05/27/2020
by   Abdulaziz Alaboudi, et al.
0

As developers debug, developers formulate hypotheses about the cause of the defect and gather evidence to test these hypotheses. To better understand the role of hypotheses in debugging, we conducted two studies. In a preliminary study, we found that, even with the benefit of modern internet resources, incorrect hypotheses can cause developers to investigate irrelevant information and block progress. We then conducted a controlled experiment where 20 developers debugged and recorded their hypotheses. We found that developers have few hypotheses, two per defect. Having a correct hypothesis early strongly predicted later success. We also studied the impact of two debugging aids: fault locations and potential hypotheses. Offering fault locations did not help developers formulate more correct hypotheses or debug more successfully. In contrast, offering potential hypotheses made developers six times more likely to succeed. These results demonstrate the potential of future debugging tools that enable finding and sharing relevant hypotheses.

READ FULL TEXT
research
11/21/2021

Confidences in Hypotheses

This article introduces a broadly-applicable new method of statistical a...
research
04/17/2019

One Homonym per Translation

The study of homonymy is vital to resolving fundamental problems in lexi...
research
05/23/2020

Find Unique Usages: Helping Developers Understand Common Usages

When working in large and complex codebases, developers face challenges ...
research
04/19/2020

Interactive Patch Filtering as Debugging Aid

It is widely recognized that program repair tools need to have a high pr...
research
07/27/2014

Evidence with Uncertain Likelihoods

An agent often has a number of hypotheses, and must choose among them ba...
research
10/31/2022

The role of prior information and computational power in Machine Learning

Science consists on conceiving hypotheses, confronting them with empiric...
research
08/10/2018

Recording Concerns in Source Code Using Annotations

A concern can be characterized as a developer's intent behind a piece of...

Please sign up or login with your details

Forgot password? Click here to reset