DYNAMIC SEARCH SPACE TRANSFORMATIONS FOR SOFTWARE TEST DATA GENERATION

Among the tasks in software testing, test data generation is particularly difficult and costly. In recent years, several approaches that use metaheuristic search techniques to automatically obtain the test inputs have been proposed. Although work in this field is very active, little attention has been paid to the selection of an appropriate search space. The present work describes an alternative to this issue. More precisely, two approaches which employ an Estimation of Distribution Algorithm as the metaheuristic technique are explained. In both cases, different regions are considered in the search for the test inputs. Moreover, to depart from a region near to the one containing the optimum, the definition of the initial search space incorporates static information extracted from the source code of the software under test. If this information is not enough to complete the definition, then a grid search method is used. According to the results of the experiments conducted, it is concluded that this is a promising option that can be used to enhance the test data generation process.

[1]  David E. Goldberg,et al.  A Survey of Optimization by Building and Using Probabilistic Models , 2002, Comput. Optim. Appl..

[2]  Heinz Mühlenbein,et al.  The Equation for Response to Selection and Its Use for Prediction , 1997, Evolutionary Computation.

[3]  Jim Smith,et al.  Evolving Software Test Data - GA's learn Self Expression , 1996, Evolutionary Computing, AISB Workshop.

[4]  Irman Hermadi,et al.  Genetic algorithm based test data generator , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

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

[6]  J. A. Lozano,et al.  Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation , 2001 .

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

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

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

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

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

[12]  S. Baluja,et al.  Combining Multiple Optimization Runs with Optimal Dependency Trees , 1997 .

[13]  L. Darrell Whitley,et al.  Delta Coding: An Iterative Search Strategy for Genetic Algorithms , 1991, ICGA.

[14]  David B. Fogel,et al.  Evolutionary algorithms in theory and practice , 1997, Complex.

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

[16]  Leonardo Bottaci,et al.  Predicate Expression Cost Functions to Guide Evolutionary Search for Test Data , 2003, GECCO.

[17]  Petr Posík Estimation of Distribution Algorithms , 2006 .

[18]  Jiri Ocenasek Entropy-based Convergence Measurement in Discrete Estimation of Distribution Algorithms , 2006, Towards a New Evolutionary Computation.

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

[20]  William H. Press,et al.  Numerical recipes in C , 2002 .

[21]  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).

[22]  Pedro Larrañaga,et al.  Combinatonal Optimization by Learning and Simulation of Bayesian Networks , 2000, UAI.

[23]  Jose A. Lozano,et al.  Software Metrics Mining to Predict the Performance of Estimation of Distribution Algorithms in Test Data Generation , 2008 .

[24]  José Antonio Lozano,et al.  On The Performance Of Estimation Of Distribution Algorithms Applied To Software Testing , 2005, Appl. Artif. Intell..

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

[26]  Simon Burton Automated Testing From Z Specifications , 2000 .

[27]  Enrique F. Castillo,et al.  Expert Systems and Probabilistic Network Models , 1996, Monographs in Computer Science.

[28]  A. Jefferson Offutt,et al.  Experimental results from an automatic test case generator , 1993, TSEM.

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

[30]  Pedro Larrañaga,et al.  Towards a New Evolutionary Computation - Advances in the Estimation of Distribution Algorithms , 2006, Towards a New Evolutionary Computation.

[31]  Eugenia Díaz,et al.  Automated software testing using a metaheuristic technique based on Tabu search , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

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

[33]  H. Mühlenbein,et al.  From Recombination of Genes to the Estimation of Distributions I. Binary Parameters , 1996, PPSN.

[34]  Sigrid Eldh Software Testing Techniques , 2007 .

[35]  Huaiyu Zhu On Information and Sufficiency , 1997 .

[36]  José Antonio Lozano,et al.  Scatter Search in software testing, comparison and collaboration with Estimation of Distribution Algorithms , 2006, Eur. J. Oper. Res..

[37]  C. N. Liu,et al.  Approximating discrete probability distributions with dependence trees , 1968, IEEE Trans. Inf. Theory.

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

[40]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[41]  Simeon C. Ntafos,et al.  An Evaluation of Random Testing , 1984, IEEE Transactions on Software Engineering.

[42]  Zbigniew Michalewicz,et al.  Parameter Control in Evolutionary Algorithms , 2007, Parameter Setting in Evolutionary Algorithms.

[43]  Max Henrion,et al.  Propagating uncertainty in bayesian networks by probabilistic logic sampling , 1986, UAI.

[44]  Mark Harman,et al.  VADA: a transformation-based system for variable dependence analysis , 2002, Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation.