Deriving Genetic Programming Fitness Properties by Static Analysis

  • Colin G. Johnson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2278)


The aim of this paper is to introduce the idea of using static analysis of computer programs as a way of measuring fitness in genetic programming. Such techniques extract information about the programs without explicitly running them, and in particular they infer properties which hold across the whole of the input space of a program. This can be applied to measure fitness, and has a numbe of advantages over measuring fitness by running members of the population on test cases. The most important advantage is that if a solution is found then it is possible to formally trust that solution to be correct across all inputs. This paper introduces these ideas, discusses various ways in which they could be applied, discusses the type of problems for which they are appropriate, and ends by giving a simple test example and some questions for future research.


Genetic Programming Input Space Partial Evaluation Abstract Interpretation Placement Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Martin Alt, Christian Ferdinand, Florian Martin, and Reinhard Wilhelm. Cache behavior prediction by abstract interpretation. In Static Analysis Symposium 1996, pages 52–66. Springer, 1996.Google Scholar
  2. 2.
    Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, and Frank D. Francone. Genetic Programming: An Introduction. Morgan Kaufmann, 1998.Google Scholar
  3. 3.
    Forrest H Bennett III, Martin A. Keane, David Andre, and John R. Koza. Automatic synthesis of the topology and sizing for analog electrical circuits using genetic programming. In Kaisa Miettinen, Marko M. Mäkelä, Pekka Neittaanmäki, and Jacques Periaux, editors, Evolutionary Algorithms in Engineering and Computer Science, pages 199–229, Jyväskylä, Finland, 30 May–3 June 1999. John Wiley & Sons.Google Scholar
  4. 4.
    P. Cousot. Abstract interpretation: Achievements and perspectives. In Proceedings of the SSGRR 2000 Computer & eBusiness International Conference, Compact disk paper 224 and electronic proceedings, L’Aquila, Italy, July 31–August 6 2000. Scuola Superiore G. Reiss Romoli.
  5. 5.
    P. Cousot. Abstract interpretation based formal methods and future challenges, invited paper. In R. Wilhelm, editor, Informatics-10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science, pages 138–156. Springer-Verlag, 2001.Google Scholar
  6. 6.
    Patrick Cousot and Nicolas Halbwachs. Automatic discovery of linear restraints among variables of a program. In Conference Record of the Fifth Annual ACM Symposium on Principles of Pr gramming Languages, pages 84–96, 1978.Google Scholar
  7. 7.
    Saumya Debray. Resource-bounded partial evaluation. In Proceedings of the 1997 ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM’97), pages 179–192, 1997.Google Scholar
  8. 8.
    Bjørn Freeman-Benson. Converting an existing user interface to use constraints. In ACM Symposium on User Interface Software and Technology, pages 207–215, 1993.Google Scholar
  9. 9.
    Jeffery Horn. Multicriterion decision making. In Thomas Bäck, David B. Fogel, and Zbigniew Michalewicz, editors, Handbook of Evolutionary Computation}, pages F1.9.1–F1.9.15. Oxford University Press /Institute of Physics, 19Google Scholar
  10. 10.
    Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.Google Scholar
  11. 11.
    John R. Koza. Genetic Programming: On the Programming of Computers by means of Natural Selection. Series in Complex Adaptive Systems. MIT Press, 1992.Google Scholar
  12. 12.
    John R. Koza, Jessen Yu, Martin A. Keane, and William Mydlowec. Evolution of a controller with a free variable using genetic programming. In Riccardo Poli, Wolfgang Banzhaf, William B. Langdon, Julian Miller, Peter Nordin, and Terence C. Fogarty, editors, Proceedings of the 2000 European Conference on Genetic Programming, pages 91–105. Springer, 2000. LNCS 1802.Google Scholar
  13. 13.
    James Larus. Whole program paths. In Programming Language Design and Implementation, 1999.Google Scholar
  14. 14.
    Pinaki Mazumder and Elizabeth M. Rudnick. Genetic Algorithms for VLSI Design, Layout and Test Automation. Prentice-Hall, 1998.Google Scholar
  15. 15.
    Thomas J. McCabe and Charles W. Butler. Design complexity measurement and testing. Communications of the ACM, 32(12): 1415–1425, 1989.CrossRefGoogle Scholar
  16. 16.
    Flemming Nielson, Hanne Riis Nielson, and Chris Hankin. Principles of Program Analysis. Springer, 1999.Google Scholar
  17. 17.
    K.D. Nilsen and B. Rygg. Worst-case execution time analysis on modern processors. In ACM PLDI Workshop on Languages, Compilers and Tools for Real-Time Systems, 1995.Google Scholar
  18. 18.
    Michael O’Neill and Conor Ryan.Grammatical evolution. IEEE Transactions on Evolutionary Computation, 5(4):349–358, August 2001.CrossRefGoogle Scholar
  19. 19.
    Derek Partridge. Non-programmed computation. Communications of the ACM, 43(11):293–302, 2000.CrossRefGoogle Scholar
  20. 20.
    Norman Paterson and Mike Livesey. Evolving caching algorithms in C by genetic programming. In John R. Koza, Kalyanmoy Deb, Marco Dorigo, David B. Fogel, Max H. Garzon, Hitoshi Iba, and Rick L. Riolo, editors, Genetic Programming 1997: Proceedings of the Second Annual Conference. Morgan Kaufman, 19Google Scholar
  21. 21.
    P. Puchner and Ch. Koza. Calculating the maximum execution time of real-time programs. Journal of Real-Time Systems, 1:159–176, 1989.CrossRefGoogle Scholar
  22. 22.
    Michael J. Rees. Comparison of user interface design constraints for CGI and java applet web applications. In Australian World Wide Web Technical Conference, pages 1–14, 1997.Google Scholar
  23. 23.
    Conor Ryan. Pygmies and civil servants. In Kenneth E. Kinnear, Jr., editor, Advances in Genetic Programming, pages 243–263. MIT Press, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Colin G. Johnson
    • 1
  1. 1.Computing LaboratoryUniversity of Kent at CanterburyCanterburyEngland

Personalised recommendations