A dynamic approach of test data generation

The author presents a dynamic approach to test data generation, in which the path selection stage is eliminated. In this approach, test data are derived on the basis of the actual execution of the program under test, of dynamic data flow analysis, and of function minimization methods. The approach starts by executing a program for an arbitrary program input. During program execution for each executed branch, a search procedure decides whether the execution should continue the current branch or whether an alternative branch should be taken. If an undesirable execution flow is observed at the current branch, then a real-valued function is associated with this branch, and function minimization search algorithms are used to automatically locate values of input variables which will change the flow of execution at this branch. In addition, dynamic data flow analysis is used to determine input variables which are responsible for the undesirable program behavior, leading to speedup of the search process.<<ETX>>

[1]  C. V. Ramamoorthy,et al.  On the Automated Generation of Program Test Data , 1976, IEEE Transactions on Software Engineering.

[2]  Bogdan Korel,et al.  PELAS - Program Error-Locating Assistant System , 1988, IEEE Trans. Software Eng..

[3]  William E. Howden,et al.  Symbolic Testing and the DISSECT Symbolic Evaluation System , 1977, IEEE Transactions on Software Engineering.

[4]  Mary Lou Soffa,et al.  An incremental approach to unit testing during maintenance , 1988, Proceedings. Conference on Software Maintenance, 1988..

[5]  Carlos Urias Munoz,et al.  Automatic Generation of Random Self-Checking Test Cases , 1983, IBM Syst. J..

[6]  Hareton K. N. Leung,et al.  Insights into regression testing (software testing) , 1989, Proceedings. Conference on Software Maintenance - 1989.

[7]  B. Korel,et al.  A tool for data flow oriented program testing , 1985 .

[8]  Neil D. Jones,et al.  Program Flow Analysis: Theory and Application , 1981 .

[9]  Darrel C. Ince,et al.  The Automatic Generation of Test Data , 1987, Comput. J..

[10]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[11]  Lori A. Clarke,et al.  A System to Generate Test Data and Symbolically Execute Programs , 1976, IEEE Transactions on Software Engineering.

[12]  Janusz W. Laski,et al.  Dynamic Program Slicing , 1988, Inf. Process. Lett..

[13]  John Lowe Woods Path selection for symbolic execution systems , 1982 .

[14]  Karl N. Levitt,et al.  SELECT—a formal system for testing and debugging programs by symbolic execution , 1975 .

[15]  Andris Zarins,et al.  SMOTL - A System to Construct Samples for Data Processing Program Debugging , 1979, IEEE Trans. Software Eng..

[16]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[17]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[18]  John F. Passafiume,et al.  Software testing and evaluation , 1987 .

[19]  L. Cooper,et al.  Sequential Search: A Method for Solving Constrained Optimization Problems , 1965, JACM.

[20]  Dimitri P. Bertsekas,et al.  Numerical methods for constrained optimization , 1976 .