Improving Test Distance for Failure Clustering with Hypergraph Modelling

04/21/2021
by   Gabin An, et al.
0

Automated debugging techniques, such as Fault Localisation (FL) or Automated Program Repair (APR), are typically designed under the Single Fault Assumption (SFA). However, in practice, an unknown number of faults can independently cause multiple test case failures, making it difficult to allocate resources for debugging and to use automated debugging techniques. Clustering algorithms have been applied to group the test failures according to their root causes, but their accuracy can often be lacking due to the inherent limits in the distance metrics for test cases. We introduce a new test distance metric based on hypergraphs and evaluate their accuracy using multi-fault benchmarks that we have built on top of Defects4J and SIR. Results show that our technique, Hybiscus, can automatically achieve perfect clustering (i.e., the same number of clusters as the ground truth number of root causes, with all failing tests with the same root cause grouped together) for 418 out of 605 test runs with multiple test failures. Better failure clustering also allows us to separate different root causes and apply FL techniques under SFA, resulting in saving up to 82 technique for multiple fault localisation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/10/2021

Searching for Multi-Fault Programs in Defects4J

Defects4J has enabled numerous software testing and debugging research w...
research
02/02/2023

A novel failure indexing approach with run-time values of program variables

Failures with different root causes can disturb multi-fault localization...
research
05/14/2020

Intermittently Failing Tests in the Embedded Systems Domain

Software testing is sometimes plagued with intermittently failing tests ...
research
08/18/2019

Feedback-based, Automated Failure Testing of Microservice-based Applications

Modern distributed applications are moving toward a microservice archite...
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
01/09/2023

Making Sense of Failure Logs in an Industrial DevOps Environment

Processing and reviewing nightly test execution failure logs for large i...
research
03/12/2023

Mitigating the Effect of Class Imbalance in Fault Localization Using Context-aware Generative Adversarial Network

Fault localization (FL) analyzes the execution information of a test sui...

Please sign up or login with your details

Forgot password? Click here to reset