Skip to main content

Exploiting Subprograms in Genetic Programming

  • Conference paper
  • First Online:
Genetic Programming Theory and Practice XV

Part of the book series: Genetic and Evolutionary Computation ((GEVO))

  • 579 Accesses


Compelled by the importance of subprogram behavior, we investigate how much Behavioral Genetic Programming is sensitive to model bias. We experimentally compare two different decision tree algorithms analyzing whether it is possible to see significant performance differences given that the model techniques select different subprograms and differ in how accurately they can regress subprogram behavior on desired outputs. We find no remarkable difference between REPTree and CART in this regard, though for a modest fraction of our datasets we find that one algorithm results in superior error reduction than the other. We also investigate alternative ways to identify useful subprograms beyond examining those within one program. We propose a means of identifying subprograms from different programs that work well together. This method combines behavioral traces from multiple programs and uses the information derived from modeling the combined program traces.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 99.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

Similar content being viewed by others


  1. 1.

  2. 2.

    Note that for our implementation of ∕, if the denominator is less than 10−6 we return 1, and for our implementation of \(\log \), if the argument is less than 10−6 we return 0.

  3. 3.


  1. David Basin, Yves Deville, Pierre Flener, Andreas Hamfelt, and Jürgen Fischer Nilsson. Synthesis of programs in computational logic. In PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC, pages 30–65. Springer, 2004.

    Chapter  Google Scholar 

  2. Robyn Ffrancon and Marc Schoenauer. Memetic semantic genetic programming. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO ’15, pages 1023–1030, New York, NY, USA, 2015. ACM.

    Google Scholar 

  3. Alex Graves, Greg Wayne, Malcolm Reynolds, Tim Harley, Ivo Danihelka, Agnieszka Grabska-Barwińska, Sergio Gómez Colmenarejo, Edward Grefenstette, Tiago Ramalho, John Agapiou, et al. Hybrid computing using a neural network with dynamic external memory. Nature, 538(7626):471–476, 2016.

    Article  Google Scholar 

  4. Sumit Gulwani. Dimensions in program synthesis. In Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming, pages 13–24. ACM, 2010.

    Google Scholar 

  5. Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, and Ian H. Witten. The weka data mining software: An update. SIGKDD Explor. Newsl., 11(1):10–18, November 2009.

    Article  Google Scholar 

  6. Thomas Haynes. On-line adaptation of search via knowledge reuse. Genetic Programming 1997: Proceedings of the Second Annual Conference, pages 156–161. Morgan Kaufmann Publishers Inc., 1997.

    Google Scholar 

  7. John R Koza. Genetic programming: on the programming of computers by means of natural selection, volume 1. MIT press, 1992.

    Google Scholar 

  8. Krzysztof Krawiec. Behavioral Program Synthesis with Genetic Programming, volume 618 of Studies in Computational Intelligence. Springer International Publishing, 2015.

    Google Scholar 

  9. Krzysztof Krawiec and Una-May O’Reilly. Behavioral programming: a broader and more detailed take on semantic gp. In Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation, pages 935–942. ACM, 2014.

    Google Scholar 

  10. Krzysztof Krawiec and Jerry Swan. Pattern-guided genetic programming. In Proceedings of the 15th annual conference on Genetic and evolutionary computation, pages 949–956. ACM, 2013.

    Google Scholar 

  11. Paweł Liskowski and Krzysztof Krawiec. Online discovery of search objectives for test-based problems. Evolutionary Computation, 25:375–406, 2016.

    Article  Google Scholar 

  12. James McDermott, David R White, Sean Luke, Luca Manzoni, Mauro Castelli, Leonardo Vanneschi, Wojciech Jaskowski, Krzysztof Krawiec, Robin Harper, Kenneth De Jong, et al. Genetic programming needs better benchmarks. In Proceedings of the 14th annual conference on Genetic and evolutionary computation, pages 791–798. ACM, 2012.

    Google Scholar 

  13. Robert I McKay. Fitness sharing in genetic programming. In Proceedings of the 2nd Annual Conference on Genetic and Evolutionary Computation, pages 435–442. Morgan Kaufmann Publishers Inc., 2000.

    Google Scholar 

  14. Nicholas Freitag McPhee, Brian Ohs, and Tyler Hutchison. Semantic building blocks in genetic programming. In European Conference on Genetic Programming, pages 134–145. Springer, 2008.

    Google Scholar 

  15. Martin C Rinard. Example-driven program synthesis for end-user programming: technical perspective. Communications of the ACM, 55(8):96–96, 2012.

    Article  Google Scholar 

  16. Armando Solar-Lezama. Program synthesis by sketching. PhD Thesis, University of California, Berkeley, 2008.

    Google Scholar 

  17. Saurabh Srivastava, Sumit Gulwani, and Jeffrey S Foster. From program verification to program synthesis. In ACM Sigplan Notices, volume 45, pages 313–326. ACM, 2010.

    Google Scholar 

  18. Leonardo Vanneschi, Mauro Castelli, and Sara Silva. A survey of semantic methods in genetic programming. Genetic Programming and Evolvable Machines, 15(2):195–214, 2014.

    Article  Google Scholar 

  19. Westley Weimer, Stephanie Forrest, Claire Le Goues, and ThanhVu Nguyen. Automatic program repair with evolutionary computation. Communications of the ACM, 53(5):109–116, 2010.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Una-May O’Reilly .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Fine, S.B., Hemberg, E., Krawiec, K., O’Reilly, UM. (2018). Exploiting Subprograms in Genetic Programming. In: Banzhaf, W., Olson, R., Tozier, W., Riolo, R. (eds) Genetic Programming Theory and Practice XV. Genetic and Evolutionary Computation. Springer, Cham.

Download citation

  • DOI:

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-90511-2

  • Online ISBN: 978-3-319-90512-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics