Variable-Based Fault Localization via Enhanced Decision Tree

11/21/2022
by   Jiajun Jiang, et al.
0

Fault localization, aiming at localizing the root cause of the bug under repair, has been a longstanding research topic. Although many approaches have been proposed in the last decades, most of the existing studies work at coarse-grained statement or method levels with very limited insights about how to repair the bug (granularity problem), but few studies target the finer-grained fault localization. In this paper, we target the granularity problem and propose a novel finer-grained variable-level fault localization technique. Specifically, we design a program-dependency-enhanced decision tree model to boost the identification of fault-relevant variables via discriminating failed and passed test cases based on the variable values. To evaluate the effectiveness of our approach, we have implemented it in a tool called VARDT and conducted an extensive study over the Defects4J benchmark. The results show that VARDT outperforms the state-of-the-art fault localization approaches with at least 247.8 and the average improvements are 330.5 Besides, to investigate whether our finer-grained fault localization result can further improve the effectiveness of downstream APR techniques, we have adapted VARDT to the application of patch filtering, where VARDT outperforms the state-of-the-art PATCH-SIM by filtering 26.0 results demonstrate the effectiveness of our approach and it also provides a new way of thinking for improving automatic program repair techniques.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/05/2019

Restore: Retrospective Fault Localization Enhancing Automated Program Repair

Fault localization is a crucial step of automated program repair, becaus...
research
10/03/2019

Can Automated Program Repair Refine Fault Localization?

Software bugs are prevalent in modern software systems and notoriously h...
research
09/15/2020

PRF: A Framework for Building Automatic Program Repair Prototypes for JVM-Based Languages

PRF is a Java-based framework that allows researchers to build prototype...
research
11/16/2020

Automatically Repairing Programs Using Both Tests and Bug Reports

The success of automated program repair (APR) depends significantly on i...
research
05/22/2019

Critical Review of BugSwarm for Fault Localization and Program Repair

Benchmarks play an important role in evaluating the efficiency and effec...
research
03/25/2018

Kernel-based Detection of Coincidentally Correct Test Cases to Improve Fault Localization Effectiveness

Although empirical studies have confirmed the effectiveness of spectrum-...
research
10/27/2009

Temporal Debugging using URDB

A new style of temporal debugging is proposed. The new URDB debugger can...

Please sign up or login with your details

Forgot password? Click here to reset