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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Rich, C., Waters, R.C.: Automatic programming: myths and prospects. IEEE Comput. 21, 40–51 (1988)
O’Neil, M., Ryan, C.: Grammatical Evolution, Evolutionary Automatic Programming in an Arbitrary Language. Kluwer, Norwell (2003)
Koza, J.R.: Genetic Programming 1: On the Programming of Computers by Means of Natural Selection. MIT press, Cambridge (1992)
Samuel, A.L.: Some studies in machine learning using the game of checkers. IBM J. Res. Dev. 3, 210–229 (1959)
Abbott, R.: Object-oriented genetic programming, an initial implementation. In: International Conference on Machine Learning: Models, Technologies and Applications, pp. 26–30 (2003)
Pillay, N., Chalmers, C.K.: A hybrid approach to automatic programming for the object-oriented programming paradigm, In: 2007 Conference of the South African Institute of Computer Scientists and Information Technologists, pp. 116–124 (2007)
Igwe, K., Pillay, N.: Automatic Programming Using Genetic Programming. In: World Congress on Information and Communication Technologies, pp. 339–344. Hanoi, Vietnam (2013)
Igwe, K., Pillay, N.: A Comparative study of genetic programming and grammatical evolution for evolving data structures. In: 2014 PRASA, RobMech and AfLaT International Joint Symposium, pp. 115–121. Cape Town, South Africa (2014)
Langdon, W.B.: Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming! Kluwer, Boston (1998)
Bruce, W.S.: The Application of genetic programming to the automatic generation of object-oriented programs. Ph.D. thesis, Nova Southeastern University (1995)
Pillay, N.: Evolving solutions to ASCII graphics programming problems in intelligent programming tutors. In: International Conference on Applied Artificial Intelligence (ICAAI’2003), pp. 236–243 (2003)
Goodrich M.T., Tamassia, R.: Data Structures and Algorithms in Java. Wiley (2008)
Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Company, Boston (1989)
Koza, J.R.: Genetic Programming II, Automatic Discovery of Reusable Programs. MIT Press, Cambridge (1994)
Hemberg, E., O’Neill, M., Brabazon, A.: An investigation into automatically defined function representations in grammatical evolution. In: 15th International Conference on Soft Computing, Mendel (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Igwe, K., Pillay, N. (2016). A Study of Genetic Programming and Grammatical Evolution for Automatic Object-Oriented Programming: A Focus on the List Data Structure. In: Pillay, N., Engelbrecht, A., Abraham, A., du Plessis, M., Snášel, V., Muda, A. (eds) Advances in Nature and Biologically Inspired Computing. Advances in Intelligent Systems and Computing, vol 419. Springer, Cham. https://doi.org/10.1007/978-3-319-27400-3_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-27400-3_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27399-0
Online ISBN: 978-3-319-27400-3
eBook Packages: Computer ScienceComputer Science (R0)