Spectrum-based fault diagnosis with partial traces

• Demonstrate the feasibility of software fault diagnosis with partial traces and highlight the advantages of probabilistic reconstruction for fault localization when full execution traces are unavailable. • Propose algorithms, called Rec-Min, Rec-Max, and Rec-Weighted, that build on Spectrum-based Fault Localization (SFL), augmented by a trace reconstruction process that fills the missing parts of the program trace via static code analysis. • Evaluate the algorithms on 109 versions of 10 projects from the Defects4J dataset, showing significant fault localization improvements compared to a baseline approach. • Show that the Rec-Weighted algorithm achieves the best trade-off, reducing wasted effort by 34.4 %. Finding the root cause of observed software bugs, also referred to as software fault diagnosis, is a challenging problem that often must be solved in order to maintain software reliability. Spectrum-Based Fault Localization (SFL) is a powerful technique for automated software fault diagnosis that leverages execution traces. However, having the exact trace of every executed function is not common in real-world software projects, since tracing incurs significant overhead. Instead, many projects maintain log files to track execution, from which only partial execution traces may be extracted. This raises a key challenge: how can we diagnose fault faults (bugs) correctly given only partial execution traces? One way to do so is to run SFL using only the available partial traces. This approach is very limited, as it ignores all components that are not in the partial trace, which may even include the buggy components we are looking for. To overcome this limitation, we propose to use trace reconstruction techniques to synthetically add components to the given partial traces. These techniques analyze possible execution paths, which are extracted via static code analysis. In this work, we consider three trace reconstruction techniques: Rec-Min, Rec-Max, and Rec-Weighted. Rec-Min adds to the partial traces components present in all possible execution paths. Rec-Max adds to the partial trace components that exists in at least one execution path. Rec-Weighted applies a more refined approach. It assigns likelihood scores to the missing components based on the number of execution paths that pass through them. Then, it adapts SFL to intelligently consider these likelihood scores. Empirical evaluation on 109 faulty versions of 10 projects from the Defects4J dataset demonstrates that using our trace reconstruction techniques significantly enhances fault localization compared to the baseline SFL that only uses the partial traces. In some cases, using Rec-Weighted enabled reducing the wasted effort by 34.4 %.

Authors

Institutions

Publication Details

Journal
Journal of Systems and Software
Published
2025-11-02
DOI
https://doi.org/10.1016/j.jss.2025.112689
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Spectrum-based fault diagnosis with partial traces

Bruno Sotto-Mayor, Meir Kalech, Roni Stern
Journal of Systems and Software
Software Engineering Research
article

Spectrum-based fault diagnosis with partial traces

Bruno Sotto-Mayor, Meir Kalech, Roni Stern
article en

Abstract

• Demonstrate the feasibility of software fault diagnosis with partial traces and highlight the advantages of probabilistic reconstruction for fault localization when full execution traces are unavailable. • Propose algorithms, called Rec-Min, Rec-Max, and Rec-Weighted, that build on Spectrum-based Fault Localization (SFL), augmented by a trace reconstruction process that fills the missing parts of the program trace via static code analysis. • Evaluate the algorithms on 109 versions of 10 projects from the Defects4J dataset, showing significant fault localization improvements compared to a baseline approach. • Show that the Rec-Weighted algorithm achieves the best trade-off, reducing wasted effort by 34.4 %. Finding the root cause of observed software bugs, also referred to as software fault diagnosis, is a challenging problem that often must be solved in order to maintain software reliability. Spectrum-Based Fault Localization (SFL) is a powerful technique for automated software fault diagnosis that leverages execution traces. However, having the exact trace of every executed function is not common in real-world software projects, since tracing incurs significant overhead. Instead, many projects maintain log files to track execution, from which only partial execution traces may be extracted. This raises a key challenge: how can we diagnose fault faults (bugs) correctly given only partial execution traces? One way to do so is to run SFL using only the available partial traces. This approach is very limited, as it ignores all components that are not in the partial trace, which may even include the buggy components we are looking for. To overcome this limitation, we propose to use trace reconstruction techniques to synthetically add components to the given partial traces. These techniques analyze possible execution paths, which are extracted via static code analysis. In this work, we consider three trace reconstruction techniques: Rec-Min, Rec-Max, and Rec-Weighted. Rec-Min adds to the partial traces components present in all possible execution paths. Rec-Max adds to the partial trace components that exists in at least one execution path. Rec-Weighted applies a more refined approach. It assigns likelihood scores to the missing components based on the number of execution paths that pass through them. Then, it adapts SFL to intelligently consider these likelihood scores. Empirical evaluation on 109 faulty versions of 10 projects from the Defects4J dataset demonstrates that using our trace reconstruction techniques significantly enhances fault localization compared to the baseline SFL that only uses the partial traces. In some cases, using Rec-Weighted enabled reducing the wasted effort by 34.4 %.

Journal of Systems and SoftwareVol. 232
Ben-Gurion University of the Negev (IL)
Openalex Percentile: Top 54%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.