Leveraging Stack Traces for Spectrum-based Fault Localization in the Absence of Failing Tests

πŸ“… 2024-05-01
πŸ›οΈ arXiv.org
πŸ“ˆ Citations: 3
✨ Influential: 1
πŸ“„ PDF
πŸ€– AI Summary
Spectrum-Based Fault Localization (SBFL) fails when no failing tests are available to trigger faults. Method: This paper systematically demonstrates, for the first time, that stack traces from crash reports can serve as pseudo-failure signals in lieu of actual failing tests, and proposes SBESTβ€”a novel SBFL method that integrates exception-location semantics with method-call-graph reachability to embed stack-trace information into the spectrum analysis framework. SBEST jointly leverages test coverage matrices and parsed stack traces to enable precise fault localization even in the absence of failing tests. Results: Experiments show SBEST improves Mean Average Precision (MAP) by 32.22% and Mean Reciprocal Rank (MRR) by 17.43% over the baseline MAP method. Moreover, 98.3% of defect-fixing intentions align with stack-trace anomalies, and 78.3% of defective methods are reachable within an average of 0.34 call-graph hops. This work establishes a new lightweight, crash-driven paradigm for fault localization.

Technology Category

Application Category

πŸ“ Abstract
Bug fixing is a crucial task in software maintenance to hold user trust. Although various automated fault localization techniques exist, they often require specific conditions to be effective. For example, Spectrum-Based Fault Localization (SBFL) techniques need at least one failing test to identify bugs, which may not always be available. Bug reports, particularly those with stack traces, provide detailed information on system execution failures and are invaluable for developers. This study focuses on utilizing stack traces from crash reports as fault-triggering tests for SBFL. Our findings indicate that only 3.33% of bugs have fault-triggering tests, limiting traditional SBFL efficiency. However, 98.3% of bugfix intentions align directly with exceptions in stack traces, and 78.3% of buggy methods are reachable within an average of 0.34 method calls, proving stack traces as a reliable source for locating bugs. We introduce a new approach, SBEST, that integrates stack trace data with test coverage to enhance fault localization. Our approach shows a significant improvement, increasing Mean Average Precision (MAP) by 32.22% and Mean Reciprocal Rank (MRR) by 17.43% over traditional stack trace ranking methods.
Problem

Research questions and friction points this paper is trying to address.

Proposes SBEST for fault localization without fault-trigging tests
Uses stack traces as proxies for missing fault-triggering tests
Improves localization accuracy when crash reports lack test cases
Innovation

Methods, ideas, or system contributions that make the work stand out.

Uses stack traces as fault-triggering test proxies
Integrates stack trace with test coverage data
Improves fault localization without failing tests
πŸ”Ž Similar Papers
No similar papers found.
L
Lorena Barreto Simedo Pacheco
Concordia University, Montreal, Canada
A
A. Chen
University of Alberta, Edmonton, Canada
Jinqiu Yang
Jinqiu Yang
Concordia University
Automated Program RepairText Analytics of Software ArtifactsMining Software RepositoriesSoftware Engineering
T
Tse-Hsun Chen
Concordia University, Montreal, Canada