Abstract

Automatic programming is a concept which until today has not been fully achieved using evolutionary algorithms. Despite much research in this field, a lot of the concepts remain unexplored. The current study is part of ongoing research aimed at using evolutionary algorithms for automatic programming. The performance of two evolutionary algorithms, namely, genetic programming and grammatical evolution are compared for automatic object-oriented programming. Genetic programming is an evolutionary algorithm which searches a program space for a solution program. A program generated by genetic programming is executed to yield a solution to the problem at hand. Grammatical evolution is a variation of genetic programming which adopts a genotype–phenotype distinction and uses grammars to map from a genotypic space to a phenotypic (program) space. The study implements and tests the abilities of these approaches as well as a further variation of genetic programming, namely, object-oriented genetic programming, for automatic object-oriented programming. The application domain used to evaluate these approaches is the generation of abstract data types, specifically the class for the list data structure. The study also compares the performance of the algorithms when human programmer problem domain knowledge is incorporated and when such knowledge is not incorporated. The results show that grammatical evolution performs better than genetic programming and object-oriented genetic programming, with object-oriented genetic programming outperforming genetic programming. Future work will focus on evolution of programs that use the evolved classes.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call