CCE Theses and Dissertations

The Application of Genetic Programming to The Automatic Generation of Object-Oriented Programs

Date of Award


Document Type


Degree Name

Doctor of Philosophy (PhD)


Graduate School of Computer and Information Sciences


Phillip M Admas

Committee Member

S. Rollins Guild

Committee Member

Junping Sun


Genetic programming is an automatic programming method that creates computer programs to satisfy a software designer's input/output specification through the application of principles from genetics and evolutionary biology. A population of programs is maintained where each program is represented in the chromosome data structure as a tree. Programs are evaluated to determine their fitness in solving the specified task. Simulated genetic operations like crossover and mutation are probabilistically applied to the more highly fit programs in the population to generate new programs. These programs then replace existing programs in the population according to the principles of natural selection. The process repeats until a correct program is found or an iteration limit is reached.

This research concerns itself with the application of genetic programming to the generation of object-oriented programs. A new chromosome data structure is presented in which the entire set of methods associated with an object are stored as a set of program trees. Modified genetic operators that manipulate this new structure are defined. Indexed memory methods are used to allow the programs generated by the system to access and modify object memory. The result of these modifications to the standard genetic programming paradigm is a system that can simultaneously generate all of the methods associated with an object.

Experiments were performed to compare the sequential generation of object methods with two variants of simultaneous generation. The first variant used information about both method return values and object internal memory state in its fitness function. The second variant only used information about method return values. It was found that simultaneous generation of methods is possible in the domain of simple collection objects both with and without the availability of internal memory state in the fitness function. It was also found that this technique is up to four orders of magnitude more computationally expensive in terms of number of individuals generated in the search than the sequential generation of the same set of methods on an individual basis.

This document is currently not available here.

  Link to NovaCat