2021
DOI: 10.48550/arxiv.2101.03008
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

Locating Faults with Program Slicing: An Empirical Analysis

Abstract: Statistical fault localization is an easily deployed technique for quickly determining candidates for faulty code locations. If a human programmer has to search the fault beyond the top candidate locations, though, more traditional techniques of following dependencies along dynamic slices may be better suited. In a large study of 457 bugs (369 single faults and 88 multiple faults) in 46 open source C programs, we compare the effectiveness of statistical fault localization against dynamic slicing. For single fa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2024
2024
2024
2024

Publication Types

Select...
1

Relationship

0
1

Authors

Journals

citations
Cited by 1 publication
(2 citation statements)
references
References 65 publications
0
2
0
Order By: Relevance
“…Gosh and Singh [30] combined dynamic slicing with spectrum-based fault localization (SBFL). Soremekun et al [31] empirically evaluated the effectiveness of slicing and SBFL. They recommend a hybrid approach for fault localization: a programmer should first examine the five highest-ranked statements from SBFL; if the fault is not detected within these five statements, the programmer should examine the dynamic slice.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Gosh and Singh [30] combined dynamic slicing with spectrum-based fault localization (SBFL). Soremekun et al [31] empirically evaluated the effectiveness of slicing and SBFL. They recommend a hybrid approach for fault localization: a programmer should first examine the five highest-ranked statements from SBFL; if the fault is not detected within these five statements, the programmer should examine the dynamic slice.…”
Section: Related Workmentioning
confidence: 99%
“…The approximate dynamic slice is the intersection of the executed statements and the static slice [6,31]: approximate dynamic slice = executed statements ∩ static slice ⇒ approximate dynamic slice ⊆ executed statements ⇒ approximate dynamic slice ⊆ static slice…”
Section: Relation Of the Different Slice Typesmentioning
confidence: 99%