PBCOV: a property-based coverage criterion

被引:0
作者
Kassem Fawaz
Fadi Zaraket
Wes Masri
Hamza Harkous
机构
[1] University of Michigan,
[2] American University of Beirut,undefined
[3] Swiss Federal Institute of Technology in Lausanne (EPFL),undefined
来源
Software Quality Journal | 2015年 / 23卷
关键词
Software testing; Coverage criteria; Property-based coverage; State space coverage; Specification-based coverage; Test suite evaluation; Reachability analysis; Logic synthesis;
D O I
暂无
中图分类号
学科分类号
摘要
Coverage criteria aim at satisfying test requirements and compute metrics values that quantify the adequacy of test suites at revealing defects in programs. Typically, a test requirement is a structural program element, and the coverage metric value represents the percentage of elements covered by a test suite. Empirical studies show that existing criteria might characterize a test suite as highly adequate, while it does not actually reveal some of the existing defects. In other words, existing structural coverage criteria are not always sensitive to the presence of defects. This paper presents PBCOV, a Property-Based COVerage criterion, and empirically demonstrates its effectiveness. Given a program with properties therein, static analysis techniques, such as model checking, leverage formal properties to find defects. PBCOV is a dynamic analysis technique that also leverages properties and is characterized by the following: (a) It considers the state space of first-order logic properties as the test requirements to be covered; (b) it uses logic synthesis to compute the state space; and (c) it is practical, i.e., computable, because it considers an over-approximation of the reachable state space using a cut-based abstraction.We evaluated PBCOV using programs with test suites comprising passing and failing test cases. First, we computed metrics values for PBCOV and structural coverage using the full test suites. Second, in order to quantify the sensitivity of the metrics to the absence of failing test cases, we computed the values for all considered metrics using only the passing test cases. In most cases, the structural metrics exhibited little or no decrease in their values, while PBCOV showed a considerable decrease. This suggests that PBCOV is more sensitive to the absence of failing test cases, i.e., it is more effective at characterizing test suite adequacy to detect defects, and at revealing deficiencies in test suites.
引用
收藏
页码:171 / 202
页数:31
相关论文
共 38 条
[1]  
Ball T(2011)A decade of software model checking with slam Communications of the ACM 54 68-76
[2]  
Levin V(2001)Using symbolic execution for verifying safety-critical systems ACM SIGSOFT Software Engineering Notes 26 142-151
[3]  
Rajamani SK(1978)Hints on test data selection: Help for the practicing programmer Computer 11 34-41
[4]  
Coen-Porisini A(2005)Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact Empirical Software Engineering 10 405-435
[5]  
Denaro G(2007)The daikon system for dynamic detection of likely invariants Science of Computer Programming 69 35-45
[6]  
Ghezzi C(1997)The model checker spin IEEE Transactions on Software Engineering 23 279-295
[7]  
Pezzé M(2004)Testera: Specification-based testing of java programs using sat Automated Software Engineering 11 403-434
[8]  
DeMillo RA(2010)Fault localization based on information flow coverage Software Testing, Verification and Reliability 20 121-147
[9]  
Lipton RJ(2007)An empirical study of test case filtering techniques based on exercising information flows IEEE Transactions on Software Engineering 33 454-477
[10]  
Sayward FG(2003)Model checking programs Automated Software Engineering Journal 10 203-232