Improving Fault Localization by Integrating Value and Predicate Based Causal Inference Techniques

02/11/2021
by   Yigit Kucuk, et al.
0

Statistical fault localization (SFL) techniques use execution profiles and success/failure information from software executions, in conjunction with statistical inference, to automatically score program elements based on how likely they are to be faulty. SFL techniques typically employ one type of profile data: either coverage data, predicate outcomes, or variable values. Most SFL techniques actually measure correlation, not causation, between profile values and success/failure, and so they are subject to confounding bias that distorts the scores they produce. This paper presents a new SFL technique, named UniVal, that uses causal inference techniques and machine learning to integrate information about both predicate outcomes and variable values to more accurately estimate the true failure-causing effect of program statements. UniVal was empirically compared to several coverage-based, predicate-based, and value-based SFL techniques on 800 program versions with real faults.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 5

page 9

12/09/2017

Inforence: Effective Fault Localization Based on Information-Theoretic Analysis and Statistical Causal Inference

In this paper, a novel approach, Inforence, is proposed to isolate the s...
08/24/2018

Substate Profiling for Effective Test Suite Reduction

Test suite reduction (TSR) aims at removing redundant test cases from re...
04/19/2021

Causal Program Dependence Analysis

We introduce Causal Program Dependence Analysis (CPDA), a dynamic depend...
12/09/2017

FPA-FL: Incorporating Static Fault-proneness Analysis into Statistical Fault Localization

Despite the proven applicability of the statistical methods in automatic...
02/26/2019

Amortising the Cost of Mutation Based Fault Localisation using Statistical Inference

Mutation analysis can effectively capture the dependency between source ...
06/27/2019

Evaluating data-flow coverage in spectrum-based fault localization

Background: Debugging is a key task during the software development cycl...
07/20/2021

A Hybrid Approach to Fine-grained Automated Fault Localization

Fault localization is to identify faulty source code. It could be done o...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.