Causal Testing: Finding Defects' Root Causes

09/19/2018
by   Brittany Johnson, et al.
0

Isolating and repairing unexpected or buggy software behavior typically involves identifying and understanding the root cause of that behavior. We develop Causal Testing, a new method of root-cause analysis that relies on the theory of statistical causal inference to identify a set of executions that likely hold the key causal information necessary to understand and repair buggy behavior. Given one or more faulty executions, Causal Testing finds a small set of minimally different executions that do not exhibit the faulty behavior. Reducing the differences any further causes the faulty behavior to reappear, and so the differences between these minimally different executions and the faulty executions capture causal execution information, which can aid system understanding and debugging tasks. Evaluating Causal Testing on a subset of the Defects4J benchmark, we find that Causal Testing could be applied to 71 real-world defects, and for 77 root cause of the defect. We implement and make public Holmes, a Causal Testing Eclipse plug-in that automatically computes and presents causal information. A controlled experiment with 16 developers showed that Holmes improves the subjects' ability to identify the cause of the defect: Users with standard testing tools identified the cause 81 did so 92

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/21/2020

Causality-Guided Adaptive Interventional Debugging

Runtime nondeterminism is a fact of life in modern database applications...
research
07/18/2022

PerfCE: Performance Debugging on Databases with Chaos Engineering-Enhanced Causality Analysis

Debugging performance anomalies in real-world databases is challenging. ...
research
12/07/2014

Visual Causal Feature Learning

We provide a rigorous definition of the visual cause of a behavior that ...
research
01/18/2023

CaRE: Finding Root Causes of Configuration Issues in Highly-Configurable Robots

Robotic systems have several subsystems that possess a huge combinatoria...
research
05/13/2021

DataExposer: Exposing Disconnect between Data and Systems

As data is a central component of many modern systems, the cause of a sy...
research
07/31/2018

Automatic Detection and Diagnosis of Biased Online Experiments

We have seen a massive growth of online experiments at LinkedIn, and in ...
research
06/20/2023

PyRCA: A Library for Metric-based Root Cause Analysis

We introduce PyRCA, an open-source Python machine learning library of Ro...

Please sign up or login with your details

Forgot password? Click here to reset