Dynamic Logic with Non-rigid Functions

A Basis for Object-Oriented Program Verification
  • Bernhard Beckert
  • André Platzer
Conference paper

DOI: 10.1007/11814771_23

Part of the Lecture Notes in Computer Science book series (LNCS, volume 4130)
Cite this paper as:
Beckert B., Platzer A. (2006) Dynamic Logic with Non-rigid Functions. In: Furbach U., Shankar N. (eds) Automated Reasoning. IJCAR 2006. Lecture Notes in Computer Science, vol 4130. Springer, Berlin, Heidelberg

Abstract

We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that may change their value from state to state (during program execution), and we present a (relatively) complete sequent calculus for this logic. In conjunction with dynamically typed object enumerators, non-rigid functions allow to embed notions of object-orientation in dynamic logic, thereby forming a basis for verification of object-oriented programs. A semantical generalisation of substitutions, called state update, which we add to the logic, constitutes the central technical device for dealing with object aliasing during function modification. With these few extensions, our dynamic logic captures the essential aspects of the complex verification system KeY and, hence, constitutes a foundation for object-oriented verification with the principles of reasoning that underly the successful KeY case studies.

Keywords

Dynamic logic sequent calculus program logic software verification logical foundations of programming languages object-orientation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Bernhard Beckert
    • 1
  • André Platzer
    • 2
  1. 1.Department of Computer ScienceUniversity of Koblenz-Landau 
  2. 2.Department of Computing ScienceUniversity of Oldenburg 

Personalised recommendations