Publication Date



Technical Report: UTEP-CS-07-57


In evolutionary testing of an object-oriented program, the search objective is to find a sequence of method calls that can successfully produce a test object of an interesting state. This is challenging because not all call sequences are feasible; each call of a sequence has to meet the assumption of the called method. The effectiveness of an evolutionary testing thus depends in part on the quality of the so-called fitness function that determines the degree of the fitness of a candidate solution. In this paper, we propose a new fitness function based on assertions such as method preconditions to find feasible sequences of method calls. We show through experiments that to obtain the best search result the fitness function should consider the structures of method call sequences, which are essentially trees of assertions. We also provide a framework for combining multiple fitness values and analyzing different fitness functions.