2011Journal of SoftwareRequires access

Context-Aware Fault Localization via Control Flow Analysis

Lei Zhao, Lina Wang, Xiaodan Yin

Open publisher page 11 citations

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.

About this research paper

What this paper is about

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.

Why it matters

OpenAlex reports 11 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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.

Key concepts: Computer science, Flow control (data), Context (archaeology), Control flow, Fault (geology), Flow (mathematics), Control (management), Computer network

Related papers

Back to paper searchBrowse research topicsOriginal source
Context-Aware Fault Localization via Control Flow Analysis — Research Paper | ScholarLens