Enabling Object Reuse on Genetic Programming-Based Approaches to Object-Oriented Evolutionary Testing

Recent research on search-based test data generation for Object-Oriented software has relied heavily on typed Genetic Programming for representing and evolving test data. However, standard typed Genetic Programming approaches do not allow Object Reuse; this paper proposes a novel methodology to overcome this limitation. Object Reuse means that one instance can be passed to multiple methods as an argument, or multiple times to the same method as arguments. In the context of Object-Oriented Evolutionary Testing, it enables the generation of test programs that exercise structures of the software under test that would not be reachable otherwise. Additionally, the experimental studies performed show that the proposed methodology is able to effectively increase the performance of the test data generation process.

[1]  Tina Yu,et al.  Polymorphism and Genetic Programming , 2001, EuroGP.

[2]  Stefan Wappler,et al.  Automatic generation of object oriented unit tests using genetic programming , 2008 .

[3]  Francisco Fernández de Vega,et al.  Test Case Evaluation and Input Domain Reduction strategies for the Evolutionary Testing of Object-Oriented software , 2009, Inf. Softw. Technol..

[4]  Sean Luke,et al.  Two fast tree-creation algorithms for genetic programming , 2000, IEEE Trans. Evol. Comput..

[5]  J. K. Kinnear,et al.  Advances in Genetic Programming , 1994 .

[6]  Frank Tip,et al.  Declarative Object Identity Using Relation Types , 2007, ECOOP.

[7]  Joachim Wegener,et al.  Evolutionary unit testing of object-oriented software using strongly-typed genetic programming , 2006, GECCO '06.

[8]  David J. Montana,et al.  Strongly Typed Genetic Programming , 1995, Evolutionary Computation.

[9]  Paolo Tonella,et al.  Evolutionary testing of classes , 2004, ISSTA '04.

[10]  Julian Francis Miller,et al.  Cartesian genetic programming , 2000, GECCO '10.

[11]  Riccardo Poli,et al.  Evolution of Graph-Like Programs with Parallel Distributed Genetic Programming , 1997, ICGA.

[12]  Una-May O'Reilly,et al.  Genetic Programming II: Automatic Discovery of Reusable Programs. , 1994, Artificial Life.

[13]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[14]  Erik Ernst,et al.  ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings , 2007, ECOOP.

[15]  Andrea Arcuri,et al.  Insight knowledge in search based software testing , 2009, GECCO.

[16]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[17]  Roger L. Wainwright,et al.  Type inheritance in strongly typed genetic programming , 1996 .