Denoising Fault Localization with Test Line Proximity
Marius Smytzek, Andreas Zeller
Abstract
When a program fails, statistical fault localization (SFL) provides important debugging hints by identifying the locations whose execution most correlates with failures. However, such correlations can be weakened if a test contains both passing and failing assertions, creating ambiguous and misleading associations. Likewise, if multiple lines correlate with the same strength, SFL provides little guidance to disambiguate between them. This paper proposes a novel proximity-based weighting scheme for SFL that assigns different weights to locations in the test subject based on temporal proximity to a failure. The more recently a subject line is executed before the test fails, the higher its weight. We operationalize a known heuristic into a lightweight statistical form compatible with existing SFL formulas. Our approach applies to any test, from simple single-line tests (where it preserves SFL behavior), to single-assertion tests with multiple lines (where it benefits from temporal proximity), to complex multi-assertion tests (where it provides the most benefit by distinguishing failing from passing assertions). Once computed, the weights can be integrated into any existing SFL technique. Our evaluation of proximity-weighted fault localization on 310 real-world programs shows that it consistently outperforms fault localization techniques across all test types. Proximity-weighted fault localization shows per-subject relative improvements of 200%–400%, meaning that, for a typical subject, it provides 3 to 5 times the baseline effectiveness. These improvements represent substantial gains over baseline techniques. Our approach can be integrated into existing fault localization techniques to improve performance, making it a valuable addition to automated debugging.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get e531560f-6085-420b-aa51-8a9adb5724a0Related papers
- Improving Fault Localization by Integrating Value and Predicate Based Causal Inference TechniquesYigit Küçük, Tim A. D. Henderson, Andy PodgurskiICSE 2021 · 6 citations
- ReClues: Representing and indexing failures in parallel debugging with program variablesYi Song, Xihao Zhang, Xiaoyuan Xie, Quanming Liu et al.ICSE 2024 · 2 citations
- Evolving Ranking-Based Failure Proximities for Better Clustering in Fault IsolationYi Song, Xiaoyuan Xie, Xihao Zhang, Quanming Liu et al.ASE 2022 · 4 citations
- Can automated program repair refine fault localization? a unified debugging approachYiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang et al.ISSTA 2020 · 99 citations
- Evaluating the Impact of Experimental Assumptions in Automated Fault LocalizationEzekiel O. Soremekun, Lukas Kirschner, Marcel Böhme, Mike PapadakisICSE 2023 · 9 citations
