Capturing propagation of infected program states

Abstract:Coverage-based fault-localization techniques find the fault-related positions in programs by comparing the execution statistics of passed executions and failed executions. They assess the fault suspiciousness of individual program entities and rank the statements in descending order of their suspiciousness scores to help identify faults in programs. However, many such techniques focus on assessing the suspiciousness of individual program entities but ignore the propagation of infected program states among them. In this paper, we use edge profiles to represent passed executions and failed executions, contrast them to model how each basic block contributes to failures by abstractly propagating infected program states to its adjacent basic blocks through control flow edges. We assess the suspiciousness of the infected program states propagated through each edge, associate basic blocks with edges via such propagation of infected program states, calculate suspiciousness scores for each basic block, and finally synthesize a ranked list of statements to facilitate the identification of program faults. We conduct a controlled experiment to compare the effectiveness of existing representative techniques with ours using standard benchmarks. The results are promising.
Grants:GRF 111107, GRF 716507
Links:PDF, DOI
Citation:Zhenyu Zhang, W.K. Chan, T.H. Tse, Bo Jiang, and Xinming Wang, "Capturing propagation of infected program states", in Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundation of Software Engineering (ESEC 2009/FSE-17), ACM Press, New York, NY (2009).
Remarks:[Acceptance rate: 14.7%,  32 out of 217]
Related Papers:-

Selected Tags

Tag Groups


ACM SigSoft
IEEE Software Engineering Online