Abstract
Almost all existing genetic programming systems deal with fitness evaluation solely by testing. In this paper, by contrast, we present an original approach that combines genetic programming with Hoare logic with the aid of model checking and finite state automata, henceby proposing a brand new verification-focused formal genetic programming system that makes it possible to evolve reliable programs with mathematicallyverified properties.
Similar content being viewed by others
References
Rich C, Waters R C. Automatic programming: myths and prospects. Computer, 1988, 21: 40–51
Koza J R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge, MA: The MIT Press, 1992
Holland J H. Adaptation in Natural and Artificial Systems. Michigan: The University of Michigan Press, 1975
Mitchell M. An Introduction to Genetic Algorithms. Cambridge: MIT Press, 1996
Oltean M, Grosan C. A comparison of several linear genetic programming techniques. Complex Syst, 2004, 14: 1–29
Abraham A, Nedjah N, de Macedo M L. Evolutionary computation: from genetic algorithms to genetic programming. In: Nedjah N, et al., eds. Studies in Computational Intelligence. Berlin: Springer-Verlag, 2006. 1–20
Koza J R. Human-competitive machine intelligence by means of genetic algorithms. In: Booker L, Forrest S, Mitchell M, et al., eds. Perspectives on Adaptation in Natural and Artificial System. Oxford: Oxford University Press, 2005. 33–55
Koza J R, Bennett F H III, Andre D, et al. Four problems for which a computer program evolved by genetic programming is competitive with human performance. In: Proceedings of IEEE International Confer. on Evolutionary Computation, Nagoya, Japan, 1996. 1–10
Koza J R, Keane M A, Yu J, et al. Automatic creation of human-competitive programs and controllers by means of genetic programming. Genet Program Evolv Mach, 2000, 1: 121–164
Binard F, Felty A. An abstraction-based genetic programming system. In: GECCO’ 2007, London, UK, 2007. 2415–2422
Frias-Martinez E, Gobet F. Automatic generation of cognitive theories using genetic programming. Minds Mach, 2007, 17: 287–309
O’Neill M, Ryan C. Grammatical evolution. IEEE Trans Evol Comput, 2001, 5: 349–358
Sette S, Boullart L. Genetic programming: principles and applications. Eng Appl Artif Intell, 2001, 14: 727–736
Montana D J. Strongly typed genetic programming. Evol Comput, 1995, 3: 199–230
Koza J R. Genetic Programming II: Automatic Discovery of Reusable Programs. Cambridge, MA: MIT Press, 1994
Wang M L, Leung K S. Data Mining Using Grammar Based Genetic Programming and Applications. Dordrecht: Kluwer Academic Publishers, 2002. 27–99
Johnson C G. Genetic programming with fitness based on model checking. In: Ebner M, et al. eds. EuroGP 2007. Genetic Programming, LNCS 4445. Berlin: Springer-Verlag, 2007. 114–124
He P, Kang L S, Fu M. Formality based genetic programming. In: Proc. of IEEE Congress on Evolutionary Computation. Hong Kong. 2008. 4081–4088
Katz G, Peled D. Model checking-based genetic programming with an application to mutual exclusion. In: Ramakrishnan C R, Rehof J, eds. TACAS2008, LNCS 4963, Budapest, Hungary, 2008. 141–156
Chen H W, Wang J, Dong W. High confidence software engineering technologies (in Chinese). Acta Electr Sin, 2003, 31: 1933–1938
Dijkstra E W. A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall, 1976
Brinksma E. Verification is experimentation. Int J STTT, 2001, 3: 107–111
Kneuper R. Limits of formal methods. Form Aspects Comput, 1997, 9: 379–394
Clarke E M, Wing J M, et al. Formal methods: state of the art and future directions. ACM Comput Surv, 1996, 28: 626–643
Huth M, Ryan M. Logic in Computer Science: Modelling and Reasoning about System. Cambridge: Cambridge University Press, 2004
Lin H M, Zhang W H. Model checking: theories, techniques, and applications (in Chinese). Acta Electr Sin, 2002, 30: 1907–1912
Visser W, Havelund K, Brat G, et al. Model checking programs. Automat Softw Eng, 2003, 10: 203–232
Hoare C A R. An axiomatic basis for computer programming. CACM, 1969, 12: 576–583
Manna Z. Mathematical theory of partial correctness. J Comput Syst Sci, 1971, 5: 239–253
Singh A K, Ghanekar U, Bandyopadhyay A K. Specifying mobile network using a WP-like formal approach. Revista Colomb Comput, 2005, 6: 59–77
Winskel G. The Formal Semantics of Programming Language: An Introduction. Cambridge, Massachusetts: The Mit Press, 1993
Yang F Q, Wang Q X, Mei H, et al. Reuse-based software production technology. Sci China Ser F-Inf Sci, 2001, 44: 8–19
Xiong H M, Ying S, Yu L, et al. A composite reuse of architectural connectors using reflection (in Chinese). J Softw, 2006, 17: 1298–1306
Hopcroft J E, Motwani R, Ullman J D. Introduction to Automata Theory, Languages, and Computation. 3rd ed. Upper Saddle River, NJ: Pearson Education Inc., 2007. 1–170
Aho A V, Lam M S, Sethi R, et al. Compilers: Principles, Techniques, and Tools. 2nd ed. Boston, MA: Addison Wesley, 2007
Garey M, Johnson D S. Computers and Intractability-A Guide to the Theory of NP-completeness. San Francisco: Freeman, 1979. 213
Kaner C, Falk J, Nguyen H Q. Testing Computer Software. 2nd ed. New York: John Wiley and Sons, Inc., 1999. 480
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
He, P., Kang, L., Johnson, C.G. et al. Hoare logic-based genetic programming. Sci. China Inf. Sci. 54, 623–637 (2011). https://doi.org/10.1007/s11432-011-4200-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-011-4200-4