Cause Reduction for Quick Testing

被引:31
作者
Groce, Alex [1 ]
Alipour, Amin [1 ]
Zhang, Chaoqiang [1 ]
Chen, Yang [2 ]
Regehr, John [2 ]
机构
[1] Oregon State Univ, Sch Elect Engn & Comp Sci, Corvallis, OR 97331 USA
[2] Univ Utah, Sch Comp, Salt Lake City, UT 84112 USA
来源
2014 IEEE SEVENTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST) | 2014年
关键词
PRIORITIZATION; SELECTION;
D O I
10.1109/ICST.2014.37
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In random testing, it is often desirable to produce a "quick test" - an extremely inexpensive test suite that can serve as a frequently applied regression and allow the benefits of random testing to be obtained even in very slow or oversubscribed test environments. Delta debugging is an algorithm that, given a failing test case, produces a smaller test case that also fails, and typically executes much more quickly. Delta debugging of random tests can produce effective regression suites for previously detected faults, but such suites often have little power for detecting new faults, and in some cases provide poor code coverage. This paper proposes extending delta debugging by simplifying tests with respect to code coverage, an instance of a generalization of delta debugging we call cause reduction. We show that test suites reduced in this fashion can provide very effective quick tests for real-world programs. For Mozilla's SpiderMonkey JavaScript engine, the reduced suite is more effective for finding software faults, even if its reduced runtime is not considered. The effectiveness of a reduction-based quick test persists through major changes to the software under test.
引用
收藏
页码:243 / 252
页数:10
相关论文
共 46 条
[1]  
Andrews James H., 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, P19, DOI 10.1109/ASE.2008.12
[2]   Genetic Algorithms for Randomized Unit Testing [J].
Andrews, James H. ;
Menzies, Tim ;
Li, Felix C. H. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (01) :80-94
[3]   Is mutation an appropriate tool for testing experiments? [J].
Andrews, JH ;
Briand, LC ;
Labiche, Y .
ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, :402-411
[4]  
[Anonymous], 2010, 736 U W ONT DEP COMP
[5]  
[Anonymous], UI APPL EX MONK
[6]  
[Anonymous], 1995, P 12 INT C TEST COMP
[7]  
[Anonymous], J SOFTWARE TESTING V
[8]  
Baresi Luciano, 2010, Proceedings of the Third IEEE International Conference on Software Testing, Verification and Validation (ICST 2010), P185, DOI 10.1109/ICST.2010.54
[9]   A comparative study of coarse- and fine-grained safe regression test-selection techniques [J].
Bible, J ;
Rothermel, G ;
Rosenblum, DS .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2001, 10 (02) :149-183
[10]   Dividing strategies for the optimization of a test suite [J].
Chen, TY ;
Lau, MF .
INFORMATION PROCESSING LETTERS, 1996, 60 (03) :135-141