The limitations of genetic algorithms in software testing

Software test-data generation is the process of identifying a set of data, which satisfies a given testing criterion. For solving this difficult problem there were a lot of research works, which have been done in the past. The most commonly encountered are random test-data generation, symbolic test-data generation, dynamic test-data generation, and recently, test-data generation based on genetic algorithms. This paper gives a survey of the majority of software test-data generation techniques based on genetic algorithms. It compares and classifies the surveyed techniques according to the genetic algorithms features and parameters. Also, this paper shows and classifies the limitations of these techniques.

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

[2]  Phil McMinn,et al.  The State Problem for Evolutionary Testing , 2003, GECCO.

[3]  Timo Mantere,et al.  Evolutionary software engineering, a review , 2005, Appl. Soft Comput..

[4]  Harmen-Hinrich Sthamer,et al.  The automatic generation of software test data using genetic algorithms , 1995 .

[5]  Nigel James Tracey,et al.  A search-based automated test-data generation framework for safety-critical software , 2000 .

[6]  André Baresel,et al.  Structural and Functional Sequence Test of Dynamic and State-Based Software with Evolutionary Algorithms , 2003, GECCO.

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

[8]  Michael A. Hennell,et al.  The causes and effects of infeasible paths in computer programs , 1985, ICSE '85.

[9]  Mark Harman,et al.  Side-effect removal transformation , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

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

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

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

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

[14]  Leonardo Bottaci Instrumenting Programs With Flag Variables For Test Data Search By Genetic Algorithms , 2002, GECCO.

[15]  André Baresel,et al.  Evolutionary Testing of Flag Conditions , 2003, GECCO.

[16]  Mario Jino,et al.  Identification of potentially infeasible program paths by monitoring the search for test data , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[17]  Mark Harman,et al.  A post-placement side-effect removal algorithm , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[18]  Phyllis G. Frankl,et al.  An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing , 1993, IEEE Trans. Software Eng..

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

[20]  Donald J. Berndt,et al.  Breeding software test cases with genetic algorithms , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

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

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

[23]  Mark Harman,et al.  Improving Evolutionary Testing By Flag Removal , 2002, GECCO.

[24]  Joachim Wegener,et al.  Automatic Test Data Generation For Structural Testing Of Embedded Software Systems By Evolutionary Testing , 2002, GECCO.

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

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

[27]  Moheb R. Girgis An experimental evaluation of a symbolic execution system , 1992, Softw. Eng. J..

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

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

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

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

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

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

[34]  Yoichi Hayashi,et al.  Neural expert system using fuzzy teaching input and its application to medical diagnosis , 1994 .

[35]  Jin-Cherng Lin,et al.  Automatic test data generation for path testing using GAs , 2001, Inf. Sci..

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

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

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