Skip to main content

A Study of Genetic Programming and Grammatical Evolution for Automatic Object-Oriented Programming: A Focus on the List Data Structure

  • Conference paper
  • First Online:

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 419))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Rich, C., Waters, R.C.: Automatic programming: myths and prospects. IEEE Comput. 21, 40–51 (1988)

    Article  Google Scholar 

  2. O’Neil, M., Ryan, C.: Grammatical Evolution, Evolutionary Automatic Programming in an Arbitrary Language. Kluwer, Norwell (2003)

    Google Scholar 

  3. Koza, J.R.: Genetic Programming 1: On the Programming of Computers by Means of Natural Selection. MIT press, Cambridge (1992)

    Google Scholar 

  4. Samuel, A.L.: Some studies in machine learning using the game of checkers. IBM J. Res. Dev. 3, 210–229 (1959)

    Article  MathSciNet  Google Scholar 

  5. Abbott, R.: Object-oriented genetic programming, an initial implementation. In: International Conference on Machine Learning: Models, Technologies and Applications, pp. 26–30 (2003)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Igwe, K., Pillay, N.: Automatic Programming Using Genetic Programming. In: World Congress on Information and Communication Technologies, pp. 339–344. Hanoi, Vietnam (2013)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Langdon, W.B.: Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming! Kluwer, Boston (1998)

    Google Scholar 

  10. Bruce, W.S.: The Application of genetic programming to the automatic generation of object-oriented programs. Ph.D. thesis, Nova Southeastern University (1995)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Goodrich M.T., Tamassia, R.: Data Structures and Algorithms in Java. Wiley (2008)

    Google Scholar 

  13. Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Company, Boston (1989)

    MATH  Google Scholar 

  14. Koza, J.R.: Genetic Programming II, Automatic Discovery of Reusable Programs. MIT Press, Cambridge (1994)

    MATH  Google Scholar 

  15. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kevin Igwe .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics