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

12/09/2017
by   Farid Feyzi, et al.
0

In this paper, a novel approach, Inforence, is proposed to isolate the suspicious codes that likely contain faults. Inforence employs a feature selection method, based on mutual information, to identify those bug-related statements that may cause the program to fail. Because the majority of a program faults may be revealed as undesired joint effect of the program statements on each other and on program termination state, unlike the state-of-the-art methods, Inforence tries to identify and select groups of interdependent statements which altogether may affect the program failure. The interdependence amongst the statements is measured according to their mutual effect on each other and on the program termination state. To provide the context of failure, the selected bug-related statements are chained to each other, considering the program static structure. Eventually, the resultant cause-effect chains are ranked according to their combined causal effect on program failure. To validate Inforence, the results of our experiments with seven sets of programs include Siemens suite, gzip, grep, sed, space, make and bash are presented. The experimental results are then compared with those provided by different fault localization techniques for the both single-fault and multi-fault programs. The experimental results prove the outperformance of the proposed method compared to the state-of-the-art techniques.

READ FULL TEXT
research
12/09/2017

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

Despite the proven applicability of the statistical methods in automatic...
research
02/11/2021

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

Statistical fault localization (SFL) techniques use execution profiles a...
research
09/20/2023

Reproducing Failures in Fault Signatures

Software often fails in the field, however reproducing and debugging fie...
research
09/21/2021

A Variability Fault Localization Approach for Software Product Lines

Software fault localization is one of the most expensive, tedious, and t...
research
04/19/2021

Causal Program Dependence Analysis

We introduce Causal Program Dependence Analysis (CPDA), a dynamic depend...
research
11/07/2016

Truth Discovery with Memory Network

Truth discovery is to resolve conflicts and find the truth from multiple...
research
02/19/2021

FLACK: Counterexample-Guided Fault Localization for Alloy Models

Fault localization is a practical research topic that helps developers i...

Please sign up or login with your details

Forgot password? Click here to reset