AUTOMATED SOFTWARE TEST DATA GENERATION

被引:481
作者
KOREL, B
机构
[1] Department of Computer Science, Wayne State University, Detroit
关键词
Automated test generation; dynamic data flow analysis; function minimization; software testing; symbolic evaluation;
D O I
10.1109/32.57624
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Test data generation in program testing is the process of identifying a set of test data which satisfies given testing criterion. Most of the existing test data generators [6], [8], [10], [16], [30] use symbolic evaluation to derive test data. However, in practical programs this technique frequently requires complex algebraic manipulations, especially in the presence of arrays. In this paper we present an alternative approach of test data generation which is based on actual execution of the program under test, function minimization methods, and dynamic data flow analysis. Test data are developed for the program using actual values of input variables. When the program is executed, the program execution flow is monitored. If during program execution an undesirable execution flow is observed (e.g., the “actual” path does not correspond to the selected control path) then function minimization search algorithms are used to automatically locate the values of input variables for which the selected path is traversed. In addition, dynamic data flow analysis is used to determine those input variables responsible for the undesirable program behavior, leading to significant speedup of the search process. The approach of generating test data is then extended to programs with dynamic data structures, and a search method based on dynamic data flow analysis and backtracking is presented. In the approach described in this paper, values of array indexes and pointers are known at each step of program execution, and this approach exploits this information to overcome difficulties of array and pointer handling; as a result, the effectiveness of test data generation can be significantly improved. © 1990 IEEE
引用
收藏
页码:870 / 879
页数:10
相关论文
共 31 条
[1]  
ALBERTS DS, AFIPS C P, V45, P433
[2]  
BALZER RM, AFIPS C P, V34, P576
[3]  
BAUER J, 1979, 4TH P INT C SOFTW EN, P425
[4]  
BENSON J, 1981, ACM PERFORM EVAL REV, V10, P109
[5]   INFORMATION-FLOW AND DATA-FLOW ANALYSIS OF WHILE-PROGRAMS [J].
BERGERETTI, JF ;
CARRE, BA .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1985, 7 (01) :37-61
[6]   SMOTL - SYSTEM TO CONSTRUCT SAMPLES FOR DATA-PROCESSING PROGRAM DEBUGGING [J].
BICEVSKIS, J ;
BORZOVS, J ;
STRAUJUMS, U ;
ZARINS, A ;
MILLER, EF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1979, 5 (01) :60-66
[7]   AUTOMATIC-GENERATION OF RANDOM SELF-CHECKING TEST CASES [J].
BIRD, DL ;
MUNOZ, CU .
IBM SYSTEMS JOURNAL, 1983, 22 (03) :229-245
[8]  
Boyer R. S., 1975, SIGPLAN Notices, V10, P234, DOI 10.1145/390016.808445
[9]   AIDA - A DYNAMIC DATA FLOW ANOMALY DETECTION SYSTEM FOR PASCAL PROGRAMS [J].
CHAN, FT ;
CHEN, TY .
SOFTWARE-PRACTICE & EXPERIENCE, 1987, 17 (03) :227-239
[10]  
Clarke L. A., 1976, IEEE Transactions on Software Engineering, VSE-2, P215, DOI 10.1109/TSE.1976.233817