State Spaces - The Locale Way

Verification of imperative programs means reasoning about modifications of a program state. So proper representation of state spaces is crucial for the usability of a corresponding verification environment. In this paper we discuss various existing state space models under different aspects like strong typing, modularity and scalability. We also propose a variant based on the locale infrastructure of Isabelle. Thus we manage to combine the advantages of previous formulations (without suffering from their disadvantages), and gain extra flexibility in composing state space components (inherited from the modularity of locales).

[1]  Richard J. Boulton,et al.  Theorem Proving in Higher Order Logics , 2003, Lecture Notes in Computer Science.

[2]  Barbara Heyd,et al.  A Modular Coding of UNITY in COQ , 1996, TPHOLs.

[3]  Tobias Nipkow,et al.  Proving Pointer Programs in Higher-Order Logic , 2003, CADE.

[4]  Achim D. Brucker,et al.  Extensible Universes for Object-Oriented Data Models , 2008, ECOOP.

[5]  Leslie Lamport,et al.  Should your specification language be typed , 1999, TOPL.

[6]  Michael J. C. Gordon,et al.  Mechanizing programming logics in higher order logic , 1989 .

[7]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[8]  Lawrence C. Paulson,et al.  Mechanizing compositional reasoning for concurrent systems: some lessons , 2005, Formal Aspects of Computing.

[9]  Wolfgang Naraschewski,et al.  Object-Oriented Verification Based on Record Subtyping in Higher-Order Logic , 1998, TPHOLs.

[10]  Clemens Ballarin Locales and Locale Expressions in Isabelle/Isar , 2003, TYPES.

[11]  Clemens Ballarin,et al.  Interpretation of Locales in Isabelle: Theories and Proof Contexts , 2006, MKM.

[12]  Joakim von Wright,et al.  Mechanizing some advanced refinement concepts , 1992, Formal Methods Syst. Des..

[13]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[14]  Kim Dam Petersen,et al.  Program Verification using HOL-UNITY , 1993, HUG.

[15]  Graham Birtwistle,et al.  Current Trends in Hardware Verification and Automated Theorem Proving , 1989, Springer New York.

[16]  Richard Bornat,et al.  Proving Pointer Programs in Hoare Logic , 2000, MPC.

[17]  Burkhart Wolff,et al.  Building Formal Method Tools in the Isabelle/Isar Framework , 2007, TPHOLs.

[18]  Markus M. Wenzel Miscellaneous Isabelle/Isar examples for Higher-Order Logic , 1999 .

[19]  Lawrence C. Paulson Mechanizing a theory of program composition for UNITY , 2001, TOPL.

[20]  Norbert Schirmer,et al.  Verification of sequential imperative programs in Isabelle-HOL , 2006 .

[21]  John Harrison,et al.  Formalizing Dijkstra , 1998, TPHOLs.

[22]  Florian Kammüller,et al.  Locales - A Sectioning Concept for Isabelle , 1999, TPHOLs.

[23]  Peter V. Homeier Trustworthy Tools for Trustworthy Programs: A Mechanically Verified Verification Condition Generator , 1995 .

[24]  Markus Wenzel,et al.  Isabelle, Isar - a versatile environment for human readable formal proof documents , 2002 .

[25]  Leonor Prensa Nieto Verification of parallel programs with the Owicki-Gries and Rely-Guarantee methods in Isabelle, HOL , 2002 .