Denoising Fault Localization with Test Line Proximity
Marius Smytzek, Andreas Zeller
摘要
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.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
相关 Paper
- Improving Fault Localization by Integrating Value and Predicate Based Causal Inference TechniquesYigit Küçük, Tim A. D. Henderson, Andy PodgurskiICSE 2021 · 被引用 6 次
- ReClues: Representing and indexing failures in parallel debugging with program variablesYi Song, Xihao Zhang, Xiaoyuan Xie, Quanming Liu 等ICSE 2024 · 被引用 2 次
- Evolving Ranking-Based Failure Proximities for Better Clustering in Fault IsolationYi Song, Xiaoyuan Xie, Xihao Zhang, Quanming Liu 等ASE 2022 · 被引用 4 次
- Can automated program repair refine fault localization? a unified debugging approachYiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang 等ISSTA 2020 · 被引用 99 次
- Evaluating the Impact of Experimental Assumptions in Automated Fault LocalizationEzekiel O. Soremekun, Lukas Kirschner, Marcel Böhme, Mike PapadakisICSE 2023 · 被引用 9 次
