Deriving Genetic Programming Fitness Properties by Static Analysis
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.
KeywordsGenetic Programming Input Space Partial Evaluation Abstract Interpretation Placement Problem
Unable to display preview. Download preview PDF.
- 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.Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, and Frank D. Francone. Genetic Programming: An Introduction. Morgan Kaufmann, 1998.Google Scholar
- 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.P. Cousot. Abstract interpretation: Achievements and perspectives. In Proceedings of the SSGRR 2000 Computer & eBusiness International Conference, Compact disk paper 224 and electronic proceedings http://www.ssgrr.it/en/ssgrr2000/proceedings.htm, L’Aquila, Italy, July 31–August 6 2000. Scuola Superiore G. Reiss Romoli.
- 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.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.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.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.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.Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.Google Scholar
- 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.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.James Larus. Whole program paths. In Programming Language Design and Implementation, 1999.Google Scholar
- 14.Pinaki Mazumder and Elizabeth M. Rudnick. Genetic Algorithms for VLSI Design, Layout and Test Automation. Prentice-Hall, 1998.Google Scholar
- 16.Flemming Nielson, Hanne Riis Nielson, and Chris Hankin. Principles of Program Analysis. Springer, 1999.Google Scholar
- 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
- 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
- 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.Conor Ryan. Pygmies and civil servants. In Kenneth E. Kinnear, Jr., editor, Advances in Genetic Programming, pages 243–263. MIT Press, 1994.Google Scholar