Abstract Object Creation in Dynamic Logic

To Be or Not to Be Created
  • Wolfgang Ahrendt
  • Frank S. de Boer
  • Immo Grabe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5850)


In this paper we give a representation of a weakest precondition calculus for abstract object creation in dynamic logic, the logic underlying the KeY theorem prover. This representation allows to both specify and verify properties of objects at the abstraction level of the (object-oriented) programming language. Objects which are not (yet) created never play any role, neither in the specification nor in the verification of properties. Further, we show how to symbolically execute abstract object creation.


Explicit Representation Proof System Type Object Object Constraint Language Abstraction Level 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Leino, K.R.M.: A logic of object-oriented programs. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 682–696. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  2. 2.
    America, P., de Boer, F.S.: Reasoning about dynamically evolving process structures. Formal Asp. Comput. 6(3), 269–316 (1994)zbMATHCrossRefGoogle Scholar
  3. 3.
    Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007)Google Scholar
  4. 4.
    Beckert, B., Klebanov, V., Schlager, S.: Dynamic Logic. In: Beckert, B., et al. (eds.) [3], pp. 69–177Google Scholar
  5. 5.
    Beckert, B., Platzer, A.: Dynamic Logic with Non-rigid Functions. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 266–280. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    de Boer, F.S.: A WP-calculus for OO. In: Thomas, W. (ed.) FOSSACS 1999. LNCS, vol. 1578, pp. 135–149. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Engel, C., Hähnle, R.: Generating Unit Tests from Formal Proofs. In: Gurevich, Y., Meyer, B. (eds.) TAP 2007. LNCS, vol. 4454, pp. 169–188. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Giese, M.: First-Order Logic. In: Beckert, B., et al (ed.) [3], pp. 21–68Google Scholar
  9. 9.
    Klein, G., Nipkow, T.: A machine-checked model for a Java-like language, virtual machine, and compiler. Transactions on Programming Languages and Systems 28(4), 619–695 (2006)CrossRefGoogle Scholar
  10. 10.
    Leavens, G.T., Leino, K.R.M., Poll, E., Ruby, C., Jacobs, B.: JML: notations and tools supporting detailed design in Java. In: OOPSLA 2000 Companion, pp. 105–106. ACM, New York (2000)Google Scholar
  11. 11.
    Lev-Ami, T., Immerman, N., Reps, T.W., Sagiv, S., Srivastava, S., Yorsh, G.: Simulating Reachability Using First-Order Logic with Applications to Verification of Linked Data Structures. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 99–115. Springer, Heidelberg (2005)Google Scholar
  12. 12.
    Object Modeling Group. Object Constraint Language Specification, version 2.0 (2005)Google Scholar
  13. 13.
    Rümmer, P.: Sequential, Parallel, and Quantified Updates of First-Order Structures. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 422–436. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    van den Berg, J., Jacobs, B.: The LOOP Compiler for Java and JML. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 299–312. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Wolfgang Ahrendt
    • 1
  • Frank S. de Boer
    • 2
  • Immo Grabe
    • 2
    • 3
  1. 1.Chalmers UniversityGöteborgSweden
  2. 2.CWIAmsterdamThe Netherlands
  3. 3.Christian-Albrechts-University KielGermany

Personalised recommendations