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

  • José Carlos Bregieiro Ribeiro
  • Mário Alberto Zenha-Rela
  • Francisco Fernández de Vega
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6021)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Tonella, P.: Evolutionary testing of classes. In: ISSTA 2004: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, pp. 119–128. ACM Press, New York (2004)CrossRefGoogle Scholar
  2. 2.
    Wappler, S.: Automatic Generation of Object-Oriented Unit Tests Using Genetic Programming. PhD thesis, Technischen Universitat Berlin (December 2007)Google Scholar
  3. 3.
    Sun Microsystems: JavaTM 2 Platform, vol. 1.4.2. API Specification (2003), http://java.sun.com/j2se/1.4.2/docs/api/
  4. 4.
    Vaziri, M., Tip, F., Fink, S., Dolby, J.: Declarative object identity using relation types. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 54–78. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Wappler, S., Wegener, J.: Evolutionary unit testing of object-oriented software using strongly-typed genetic programming. In: GECCO 2006: Proceedings of the 8th annual conference on Genetic and evolutionary computation, pp. 1925–1932. ACM Press, New York (2006)CrossRefGoogle Scholar
  6. 6.
    Ribeiro, J.C.B., Zenha-Rela, M.A., Fernández de Vega, F.: Test case evaluation and input domain reduction strategies for the evolutionary testing of object-oriented software. Inf. Softw. Technol. 51(11), 1534–1548 (2009)CrossRefGoogle Scholar
  7. 7.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems). The MIT Press, Cambridge (December 1992)Google Scholar
  8. 8.
    Montana, D.J.: Strongly typed genetic programming. Evolutionary Computation 3(2), 199–230 (1995)CrossRefGoogle Scholar
  9. 9.
    Arcuri, A.: Insight knowledge in search based software testing. In: GECCO 2009: Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pp. 1649–1656. ACM, New York (2009)CrossRefGoogle Scholar
  10. 10.
    McCabe, T.J.: A complexity measure. IEEE Trans. Software Eng. 2(4), 308–320 (1976)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Luke, S.: Two fast tree-creation algorithms for genetic programming. IEEE Transactions on Evolutionary Computation 4(3), 274–283 (2000)CrossRefGoogle Scholar
  12. 12.
    Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. The MIT Press, Cambridge (1994)MATHGoogle Scholar
  13. 13.
    Poli, R.: Evolution of graph-like programs with parallel distributed genetic programming. In: Bäck, T. (ed.) ICGA, pp. 346–353. Morgan Kaufmann, San Francisco (1997)Google Scholar
  14. 14.
    Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000)Google Scholar
  15. 15.
    Haynes, T.D., Schoenefeld, D.A., Wainwright, R.L.: Type inheritance in strongly typed genetic programming. In: Angeline, P.J., Kinnear Jr., K.E. (eds.) Advances in Genetic Programming, vol. 2, pp. 359–376. MIT Press, Cambridge (1996)Google Scholar
  16. 16.
    Yu, T.: Polymorphism and genetic programming. In: Miller, J., Tomassini, M., Lanzi, P.L., Ryan, C., Tetamanzi, A.G.B., Langdon, W.B. (eds.) EuroGP 2001. LNCS, vol. 2038, pp. 218–233. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • José Carlos Bregieiro Ribeiro
    • 1
  • Mário Alberto Zenha-Rela
    • 2
  • Francisco Fernández de Vega
    • 3
  1. 1.Polytechnic Institute of LeiriaLeiriaPortugal
  2. 2.CISUC, DEIUniversity of CoimbraCoimbraPortugal
  3. 3.University of ExtremaduraMéridaSpain

Personalised recommendations