Learning Test-Mutant Relationship for Accurate Fault Localisation

06/04/2023
by   Jinhan Kim, et al.
0

Context: Automated fault localisation aims to assist developers in the task of identifying the root cause of the fault by narrowing down the space of likely fault locations. Simulating variants of the faulty program called mutants, several Mutation Based Fault Localisation (MBFL) techniques have been proposed to automatically locate faults. Despite their success, existing MBFL techniques suffer from the cost of performing mutation analysis after the fault is observed. Method: To overcome this shortcoming, we propose a new MBFL technique named SIMFL (Statistical Inference for Mutation-based Fault Localisation). SIMFL localises faults based on the past results of mutation analysis that has been done on the earlier version in the project history, allowing developers to make predictions on the location of incoming faults in a just-in-time manner. Using several statistical inference methods, SIMFL models the relationship between test results of the mutants and their locations, and subsequently infers the location of the current faults. Results: The empirical study on Defects4J dataset shows that SIMFL can localise 113 faults on the first rank out of 224 faults, outperforming other MBFL techniques. Even when SIMFL is trained on the predicted kill matrix, SIMFL can still localise 95 faults on the first rank out of 194 faults. Moreover, removing redundant mutants significantly improves the localisation accuracy of SIMFL by the number of faults localised at the first rank up to 51. Conclusion: This paper proposes a new MBFL technique called SIMFL, which exploits ahead-of-time mutation analysis to localise current faults. SIMFL is not only cost-effective, as it does not need a mutation analysis after the fault is observed, but also capable of localising faults accurately.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/26/2019

Amortising the Cost of Mutation Based Fault Localisation using Statistical Inference

Mutation analysis can effectively capture the dependency between source ...
research
04/08/2020

C++11/14 Mutation Operators Based on Common Fault Patterns

The C++11/14 standard offers a wealth of features aimed at helping progr...
research
07/18/2020

An empirical study of Linespots: A novel past-fault algorithm

This paper proposes the novel past-faults fault prediction algorithm Lin...
research
01/08/2021

Locating Faults with Program Slicing: An Empirical Analysis

Statistical fault localization is an easily deployed technique for quick...
research
09/14/2017

Empirical Evaluation of Mutation-based Test Prioritization Techniques

We propose and empirically investigate a new test case prioritization te...
research
10/07/2021

FaaSter Troubleshooting – Evaluating Distributed Tracing Approaches for Serverless Applications

Serverless applications can be particularly difficult to troubleshoot, a...
research
11/09/2019

DeVLearn: A Deep Visual Learning Framework for Localizing Temporary Faults in Power Systems

Frequently recurring transient faults in a transmission network may be i...

Please sign up or login with your details

Forgot password? Click here to reset