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

by   Farid Feyzi, et al.

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.



There are no comments yet.


page 28


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

Despite the proven applicability of the statistical methods in automatic...

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

Statistical fault localization (SFL) techniques use execution profiles a...

A Variability Fault Localization Approach for Software Product Lines

Software fault localization is one of the most expensive, tedious, and t...

Selecting Fault Revealing Mutants

Mutant selection refers to the problem of choosing, among a large number...

Causal Program Dependence Analysis

We introduce Causal Program Dependence Analysis (CPDA), a dynamic depend...

Truth Discovery with Memory Network

Truth discovery is to resolve conflicts and find the truth from multiple...

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.