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
POST COMMENT

Comments

There are no comments yet.

Authors

page 28

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/11/2021

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

Statistical fault localization (SFL) techniques use execution profiles a...
09/21/2021

A Variability Fault Localization Approach for Software Product Lines

Software fault localization is one of the most expensive, tedious, and t...
03/21/2018

Selecting Fault Revealing Mutants

Mutant selection refers to the problem of choosing, among a large number...
04/19/2021

Causal Program Dependence Analysis

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

Truth Discovery with Memory Network

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

FLACK: Counterexample-Guided Fault Localization for Alloy Models

Fault localization is a practical research topic that helps developers i...
This week in AI

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