Instrumenting Programs With Flag Variables For Test Data Search By Genetic Algorithms

Evolutionary search is potentially a powerful way of searching for software test data to satisfy various structural testing criteria. Specific test cases are evaluated by a fitness function constructed by instrumenting the program under test. The more discriminating the fitness function, the more efficient the search. When a program uses flag variables to store the results of predicate expressions, it is difficult to instrument the program effectively. The problem is examined and a solution is given for a special case. An approach for tackling the general cases is described.

[1]  John A. Clark,et al.  An automated framework for structural test-data generation , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[2]  John A. Clark,et al.  Automated program flaw finding using simulated annealing , 1998, ISSTA '98.

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

[4]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

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

[6]  Joachim Wegener,et al.  Testing real-time systems using genetic algorithms , 1997, Software Quality Journal.

[7]  L. Darrell Whitley,et al.  The GENITOR Algorithm and Selection Pressure: Why Rank-Based Allocation of Reproductive Trials is Best , 1989, ICGA.

[8]  Joachim Wegener,et al.  Evolutionary test environment for automatic structural testing , 2001, Inf. Softw. Technol..

[9]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[10]  Bryan F. Jones,et al.  Automatic structural testing using genetic algorithms , 1996, Softw. Eng. J..

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

[12]  Roy P. Pargas,et al.  Test‐data generation using genetic algorithms , 1999, Softw. Test. Verification Reliab..

[13]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[14]  A. Jefferson Offutt,et al.  Mutation analysis using mutant schemata , 1993, ISSTA '93.

[15]  Bogdan Korel,et al.  The chaining approach for software test data generation , 1996, TSEM.

[16]  Gary McGraw,et al.  Generating Software Test Data by Evolution , 2001, IEEE Trans. Software Eng..

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