Abstract

Coverage-based fault localization techniques are effective to support program debugging. However, these techniques assess the suspiciousness of program entities individually. Such calculation oversimplifies executions and cannot reflect execution contexts. In this paper, we use control flow paths to analyze the execution context, quantify edge profiles to assess how each block contributes to failures and propose the context-aware fault localization approach FP. We use the edge profile to represent the passed and failed executions, calculate the coverage statistics and edge suspiciousness scores, and then by contrasting edge suspiciousness scores of blocks covered by a failed execution, we propose fault proneness to evaluate how each block contributes to the failure. At last, we take the sum of fault proneness as the suspiciousness to assess the probability of containing faults. We construct controlled experiments to compare our technique with a representative technique. The findings are as follows. 1) the FP technique performs well in locating faults if the infected state propagation is complex, 2) but when the fault is easy to locate, the FP technique may be overly complicated, 3) the integration of the two techniques are more effective than any of them.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.