Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, and Frank D. Francone. Genetic Programming: An Introduction. Morgan Kaufmann, 1998.
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.
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.
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.
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.
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.
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.
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, 19
Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.
John R. Koza. Genetic Programming: On the Programming of Computers by means of Natural Selection. Series in Complex Adaptive Systems. MIT Press, 1992.
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.
James Larus. Whole program paths. In Programming Language Design and Implementation, 1999.
Pinaki Mazumder and Elizabeth M. Rudnick. Genetic Algorithms for VLSI Design, Layout and Test Automation. Prentice-Hall, 1998.
Thomas J. McCabe and Charles W. Butler. Design complexity measurement and testing. Communications of the ACM, 32(12): 1415–1425, 1989.
Flemming Nielson, Hanne Riis Nielson, and Chris Hankin. Principles of Program Analysis. Springer, 1999.
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.
Michael O’Neill and Conor Ryan.Grammatical evolution. IEEE Transactions on Evolutionary Computation, 5(4):349–358, August 2001.
Derek Partridge. Non-programmed computation. Communications of the ACM, 43(11):293–302, 2000.
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, 19
P. Puchner and Ch. Koza. Calculating the maximum execution time of real-time programs. Journal of Real-Time Systems, 1:159–176, 1989.
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.
Conor Ryan. Pygmies and civil servants. In Kenneth E. Kinnear, Jr., editor, Advances in Genetic Programming, pages 243–263. MIT Press, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Johnson, C.G. (2002). Deriving Genetic Programming Fitness Properties by Static Analysis. In: Foster, J.A., Lutton, E., Miller, J., Ryan, C., Tettamanzi, A. (eds) Genetic Programming. EuroGP 2002. Lecture Notes in Computer Science, vol 2278. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45984-7_29
Download citation
DOI: https://doi.org/10.1007/3-540-45984-7_29
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43378-1
Online ISBN: 978-3-540-45984-2
eBook Packages: Springer Book Archive