Journal
INFORMATION AND SOFTWARE TECHNOLOGY
Volume 94, Issue -, Pages 245-261Publisher
ELSEVIER
DOI: 10.1016/j.infsof.2017.10.014
Keywords
Spectrum-based fault localization; Automated debugging; Contextual information; Method-level spectrum; Code structure
Funding
- Sao Paulo Research Foundation (FAPESP) [2013/24992-2, 2014/23030-5]
- Research Nucleus on Open Source Software (NAPSoL) of the University of Sao Paulo
Ask authors/readers for more resources
Context Fault localization is among the most expensive tasks in software development. Spectrum-based fault localization (SFL) techniques seek to pinpoint faulty program elements (e.g., statements), by sorting them only by their suspiciousness scores. Developers tend to fall back on another debugging strategy if they do not find the bug in the first positions of a suspiciousness list. Objective: In this study, we assess techniques to contextualize code inspection whose goal is two-fold: to provide guidance during fault localization, and to improve the effectiveness of SFL techniques in classifying bugs within the first picks. Code Hierarchy (CH) and Integration Coverage-based Debugging (ICD) techniques provide a search roadmap-a list of methods-that guide the developer toward faults. CH assigns a method with the highest suspiciousness score of its blocks, and ICD captures method call relationships from testing to establish the roadmap. Two new filtering strategies-Fixed Budget (FB) and Level Score (LS)-are combined with ICD and CH for reducing the amount of blocks to inspect in each method. Method: We evaluated the effectiveness of ICD, CH, FB, LS, and a suspiciousness block list (BL) on 62 bugs from 7 real programs. Results: ICD and CH using FB found more faults inspecting less blocks than BL with statistical significance. More than 50% of the faults were found inspecting at most 10 blocks using ICD-FB and CH-FB. Moreover, ICD and CH located 70% of the faults by inspecting, at most, 4 methods. Conclusions: These results suggest that the contextualization provided by roadmaps and filtering strategies is useful for guiding developers toward faults and improves the performance of SFL techniques.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available