Enabling Object Reuse on Genetic Programming-based Approaches to Object-Oriented Evolutionary Testing Jos´ e Carlos Bregieiro Ribeiro 1 , M´ ario Alberto Zenha-Rela 2 , and Francisco Fern´ andez de Vega 3 1 Polytechnic Institute of Leiria Morro do Lena, Alto do Vieiro, Leiria, Portugal jose.ribeiro@estg.ipleiria.pt 2 University of Coimbra CISUC, DEI, 3030-290, Coimbra, Portugal mzrela@dei.uc.pt 3 University of Extremadura) C/ Sta Teresa de Jornet, 38, M´ erida, Spain fcofdez@unex.es Abstract. Recent research on search-based test data generation for Object-Oriented software has relied heavily on typed Genetic Program- ming for representing and evolving test data. However, standard typed Genetic Programming approaches do not allow Object Reuse; this pa- per 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 gen- eration of test programs that exercise structures of the software under test that would not be reachable otherwise. Additionally, the experimen- tal studies performed show that the proposed methodology is able to effectively increase the performance of the test data generation process. 1 Introduction Software testing is the process of exercising an application to detect errors and to verify that it satisfies the specified requirements. It is an expensive process, typi- cally consuming roughly half of the total costs involved in software development; automating test data generation is thus vital to advance the state-of-the-art in software testing. The application of Evolutionary Algorithms (EAs) to test data generation is often referred to as Evolutionary Testing (ET) [1]. The goal of ET is to find a set of test cases that satisfies a certain test criterion. If structural adequacy criteria are employed, the basic idea is to ensure that all the control elements in a program are executed by a given test set, providing evidence of its quality. Object Reuse is a feature of paramount importance in this context.