A Probabilistic Analysis of the Efficiency of Automated Software Testing

被引:41
作者
Boehme, Marcel [1 ]
Paul, Soumya [2 ]
机构
[1] Univ Saarland, Software Engn Chair, D-66123 Saarbrucken, Germany
[2] Natl Univ Singapore, Sch Comp, Singapore 117548, Singapore
关键词
Partition testing; random testing; error-based partitioning; efficient testing; testing theory; NUMBER;
D O I
10.1109/TSE.2015.2487274
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We study the relative efficiencies of the random and systematic approaches to automated software testing. Using a simple but realistic set of assumptions, we propose a general model for software testing and define sampling strategies for random (R) and systematic (S-0) testing, where each sampling is associated with a sampling cost: 1 and c units of time, respectively. The two most important goals of software testing are: (i) achieving in minimal time a given degree of confidence x in a program's correctness and (ii) discovering a maximal number of errors within a given time bound (n) over cap. For both (i) and (ii), we show that there exists a bound on c beyond which R performs better than S-0 on the average. Moreover for (i), this bound depends asymptotically only on x. We also show that the efficiency of R can be fitted to the exponential curve. Using these results we design a hybrid strategy H that starts with R and switches to S-0 when S-0 is expected to discover more errors per unit time. In our experiments we find that H performs similarly or better than the most efficient of both and that S-0 may need to be significantly faster than our bounds suggest to retain efficiency over R.
引用
收藏
页码:345 / 360
页数:16
相关论文
共 37 条
[11]   EXE: Automatically Generating Inputs of Death [J].
Cadar, Cristian ;
Ganesh, Vijay ;
Pawlowski, Peter M. ;
Dill, David L. ;
Engler, Dawson R. .
ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2008, 12 (02)
[12]   On the expected number of failures detected by subdomain testing and random testing [J].
Chen, TY ;
Yu, YT .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (02) :109-119
[13]   AN EVALUATION OF RANDOM TESTING [J].
DURAN, JW ;
NTAFOS, SC .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (04) :438-444
[14]  
Fraser G., 2011, P 19 ACM SIGSOFT S 1, P416
[15]  
Geldenhuys Jaco, 2012, P ISSTA, P166, DOI [10.1145/2338965.2336773, DOI 10.1145/2338965.2336773]
[16]   DART: Directed automated random testing [J].
Godefroid, P ;
Klarlund, N ;
Sen, K .
ACM SIGPLAN NOTICES, 2005, 40 (06) :213-223
[17]   Compositional May-Must Program Analysis: Unleashing the Power of Alternation [J].
Godefroid, Patrice ;
Nori, Aditya V. ;
Rajamani, Sriram K. ;
Tetali, Sai Deep .
POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2010, :43-55
[18]  
Goldberg A., 1994, SIGSOFT Software Engineering Notes, P80
[19]   Partition testing vs. random testing: The influence of uncertainty [J].
Gutjahr, WJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (05) :661-674
[20]   PARTITION TESTING DOES NOT INSPIRE CONFIDENCE [J].
HAMLET, D ;
TAYLOR, R .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1990, 16 (12) :1402-1411