Using Genetic Algorithms and Dominance Concepts for Generating Reduced Test Data

Testing takes a considerable amount of the time and resources that are spent on producing software. Testing accounts for approximately 50% of the cost of the development of a software system. Therefore, techniques to reduce the cost of testing would be useful. This paper presents an automatic test-data generation technique that uses a genetic algorithm (GA). This technique applies the concepts of dominance relations between nodes to reduce the cost of software testing. These concepts are used to define a new fitness function to evaluate the generated test data. Finally, the paper presents the results of the experiments that have been conducted to evaluate the effectiveness of the proposed GA technique compared to the random testing (RT) technique. These experiments are used to evaluate the effectiveness of the new fitness function and the technique used to reduce the cost of software testing. Povzetek: Predstavljen je genstski algoritem za zmanjsanje stevila testnih podatkov.

[1]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[2]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.

[3]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[4]  Jeffrey M. Voas,et al.  Predicting where faults can hide from testing , 1991, IEEE Software.

[5]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

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

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

[8]  Ahmed S. Ghiduk Search-Based Testing Guidance Using Dominances vs. Control Dependencies , 2009, 2009 16th Asia-Pacific Software Engineering Conference.

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

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

[11]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[12]  Marc Roper,et al.  Genetic Algorithms and the Automatic Generation of Test Data , 2007 .

[13]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1996, Springer Berlin Heidelberg.

[14]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[15]  Moheb R. Girgis Automatic Test Data Generation for Data Flow Testing Using a Genetic Algorithm , 2005, J. Univers. Comput. Sci..

[16]  Jin-Cherng Lin,et al.  Using genetic algorithms for test case generation in path testing , 2000, Proceedings of the Ninth Asian Test Symposium.

[17]  Timothy E. Lindquist,et al.  Test-case generation with IOGen , 1988, IEEE Software.

[18]  Hélène Waeselynck,et al.  STATEMATE applied to statistical software testing , 1993, ISSTA '93.

[19]  Mario Jino,et al.  Automatic Test Data Generation for Program Paths Using Genetic Algorithms , 2002, Int. J. Softw. Eng. Knowl. Eng..

[20]  Roy P. Pargas,et al.  Test-Data Generation Using Genetic Algorithms , 1999, Softw. Test. Verification Reliab..

[21]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[22]  Robert E. Tarjan,et al.  A fast algorithm for finding dominators in a flowgraph , 1979, TOPL.

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

[24]  André Baresel,et al.  Fitness Function Design To Improve Evolutionary Structural Testing , 2002, GECCO.

[25]  Moheb R. Girgis Using symbolic execution and data flow criteria to aid test data selection , 1993, Softw. Test. Verification Reliab..

[26]  Lalit M. Patnaik,et al.  Genetic algorithms: a survey , 1994, Computer.

[27]  Mary Jean Harrold,et al.  Using Genetic Algorithms to Aid Test-Data Generation for Data-Flow Coverage , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

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

[29]  Erik D. Goodman,et al.  Automated Software Test Data Generation Using A Genetic Algorithm , 1994 .