Theoretical Runtime Analyses of Search Algorithms on the Test Data Generation for the Triangle Classification Problem

Software testing plays an important role in the life cycle of software development. Because software testing is very costly and tedious, many techniques have been proposed to automate it. One technique that has achieved good results is the use of search algorithms. Because most previous work on search algorithms has been of an empirical nature, there is a need for theoretical results that confirm the feasibility of search algorithms applied to software testing. Such theoretical results might shed light on the limitations and benefits of search algorithms applied in this context. In this paper, we formally analyse the expected runtime of three different search algorithms on the problem of test data generation for an instance of the triangle classification program. The search algorithms that we analyse are random search, hill climbing and alternating variable method. We believe that this is a necessary first step that will lead and help the software engineering community to better understand the role of search based techniques applied to software testing.

[1]  Per Kristian Lehre,et al.  Runtime analysis of (1+l) EA on computing unique input output sequences , 2007, 2007 IEEE Congress on Evolutionary Computation.

[2]  Thomas Jansen,et al.  UNIVERSITY OF DORTMUND REIHE COMPUTATIONAL INTELLIGENCE COLLABORATIVE RESEARCH CENTER 531 Design and Management of Complex Technical Processes and Systems by means of Computational Intelligence Methods Upper and Lower Bounds for Randomized Search Heuristics in Black-Box Optimization , 2004 .

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

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

[5]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[6]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[7]  Thomas Jansen,et al.  On the analysis of the (1+1) evolutionary algorithm , 2002, Theor. Comput. Sci..

[8]  JansenThomas,et al.  On the analysis of the (1+ 1) evolutionary algorithm , 2002 .

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

[10]  Marek Reformat,et al.  Empirical evaluation of optimization algorithms when used in goal-oriented automated test data generation techniques , 2007, Empirical Software Engineering.

[11]  John A. Clark,et al.  Formulating software engineering as a search problem , 2003, IEE Proc. Softw..

[12]  Xin Yao,et al.  A study of drift analysis for estimating computation time of evolutionary algorithms , 2004, Natural Computing.

[13]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

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

[15]  McMinnPhil Search-based software test data generation: a survey , 2004 .

[16]  Mark Harman,et al.  A theoretical & empirical analysis of evolutionary testing and hill climbing for structural test data generation , 2007, ISSTA '07.

[17]  Bruno Legeard,et al.  Controlling test case explosion in test generation from B formal models , 2004, Softw. Test. Verification Reliab..

[18]  Gregory Tassey,et al.  Prepared for what , 2007 .

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

[20]  James Miller,et al.  Automatic test data generation using genetic algorithm and program dependence graphs , 2006, Inf. Softw. Technol..

[21]  Bruno Legeard,et al.  Controlling test case explosion in test generation from B formal models: Research Articles , 2004 .

[22]  Martin R. Woodward Editorial: A test of time across the generations , 2004, Softw. Test. Verification Reliab..

[23]  Sigrid Eldh Software Testing Techniques , 2007 .

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

[25]  Xin Yao,et al.  Time complexity of evolutionary algorithms for combinatorial optimization: A decade of results , 2007, Int. J. Autom. Comput..

[26]  B. G. Geetha,et al.  AUTOMATIC TEST DATA GENERATION USING GENETIC ALGORITHM AND PROGRAM DEPENDENCE GRAPH , 2010 .