Weight Optimization of Coverage Matrix for Fault Localization

Read the full article See related articles

Listed in

This article is not in any list yet, why not save it to one of your lists.
Log in to save this article

Abstract

Coverage-based fault localization (CFL) is a widely used technique for localizing faults in software systems. It relies on the analysis of program execution traces or coverage information to locate suspicious components that are likely to contain the fault. However, the raw coverage matrix used in fault localization encounters two primary challenges: (1) it contains a substantial number of fault-irrelevant statements, and (2) it only considers the coverage information from the tests without taking into account its degree of importance within the entire test suite. This paper addresses the aforementioned challenges by introducing a two-stage weight optimization approach for the coverage matrix in fault localization (FL). In the first stage, our method focuses on optimizing the weight of fault-irrelevant statements, which are identified through program slicing of the failing tests. In the second stage, we optimize the weights of fault-relevant statements by considering their significance within the test suite. The outcome is a weight-optimized coverage matrix that serves as input data for the fault localization algorithm. To evaluate the effectiveness of our method, we conducted extensive experiments using ten state-of-the-art fault localization techniques on widely-used benchmarks. Our method can effectively reduce the number of lines required to locate faults across all versions. On average, it achieves a reduction of 34% for SFL and 47% for DLFL.

Article activity feed