Prevalence of Coincidental Correctness and Mitigation of its Impact on Fault Localization

被引:108
作者
Masri, Wes [1 ]
Abou Assi, Rawad [1 ]
机构
[1] Amer Univ Beirut, Elect & Comp Engn Dept, Beirut 11072020, Lebanon
基金
美国国家科学基金会;
关键词
Verification; Reliability; Experimentation; Measurement; Coincidental correctness; weak coincidental correctness; strong coincidental correctness; coverage-based fault localization; cluster analysis; fuzzy sets; PROGRAM; CRITERIA;
D O I
10.1145/2559932
中图分类号
TP31 [计算机软件];
学科分类号
081205 [计算机软件];
摘要
Researchers have argued that for failure to be observed the following three conditions must be met: C-R = the defect was reached; C-I = the program has transitioned into an infectious state; and C-P = the infection has propagated to the output. Coincidental Correctness (CC) arises when the program produces the correct output while condition C-R is met but not C-P. We recognize two forms of coincidental correctness, weak and strong. In weak CC, C-R is met, whereas C-I might or might not be met, whereas in strong CC, both C-R and C-I are met. In this work we first show that CC is prevalent in both of its forms and demonstrate that it is a safety reducing factor for Coverage-Based Fault Localization (CBFL). We then propose two techniques for cleansing test suites from coincidental correctness to enhance CBFL, given that the test cases have already been classified as failing or passing. We evaluated the effectiveness of our techniques by empirically quantifying their accuracy in identifying weak CC tests. The results were promising, for example, the better performing technique, using 105 test suites and statement coverage, exhibited 9% false negatives, 30% false positives, and no false negatives nor false positives in 14.3% of the test suites. Also using 73 test suites and more complex coverage, the numbers were 12%, 19%, and 15%, respectively.
引用
收藏
页数:28
相关论文
共 56 条
[11]
Baudry B., 2006, 28th International Conference on Software Engineering Proceedings, P82, DOI 10.1145/1134285.1134299
[12]
Cadar C., 2008, Proceedings of the 8th USENIX conference on Operating systems design and implementation, OSDI'08, (USA), P209
[13]
Pinpoint: Problem determination in large, dynamic Internet services [J].
Chen, MY ;
Kiciman, E ;
Fratkin, E ;
Fox, A ;
Brewer, E .
INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS, PROCEEDINGS, 2002, :595-604
[14]
Dallmeier V, 2005, LECT NOTES COMPUT SC, V3586, P528
[15]
Dallmeier V., 2005, P 6 INT S AUT AN DRI, P99, DOI [10.1145/1085130.1085143, DOI 10.1145/1085130.1085143]
[16]
Finding failures by cluster analysis of execution profiles [J].
Dickinson, W ;
Leon, D ;
Podgurski, A .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2001, :339-348
[17]
Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact [J].
Do, HS ;
Elbaum, S ;
Rothermel, G .
EMPIRICAL SOFTWARE ENGINEERING, 2005, 10 (04) :405-435
[18]
Han J., 2001, Data Mining: Concepts and techniques, P335
[19]
Theory and algorithms for slicing unstructured programs [J].
Harman, Mark ;
Lakhotia, Arun ;
Binkley, David .
INFORMATION AND SOFTWARE TECHNOLOGY, 2006, 48 (07) :549-565
[20]
Avoiding coincidental correctness in boundary value analysis [J].
Hierons, R. M. .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2006, 15 (03) :227-241