Skip to main content
Log in

The dynamic frames theory

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

The theory of Dynamic Frames has been invented to deal with the frame problem in the presence of encapsulation and pointers. It has proved more flexible and conceptually simpler than previous approaches that tackled the problem. It is now being actively used both for theoretical and for practical purposes related to the formal verification of program correctness. This paper presents the full theory of Dynamic Frames, together with its reasoning laws and exemplifies the use of these laws in proving correct several common design patterns. It also discusses the ongoing research on the topic.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Banerjee A, Barnett M, Naumann D (2008) Boogie meets regions: a verification experience report. Technical Report MSR-TR-2008-79, Microsoft Research

  2. Barnett M, DeLine R, Fähndrich M, Leino KRM, Schulte W (2004) Verification of object oriented programs with invariants. J Object Technol 3(6). http://www.jot.fm/issues/issue_2004_06/article2/article2.pdf

  3. Barnett M, Leino KRM, Schulte W (2004) The Spec# specification language: an overview. In: Barthe G, Burdy L, Huisman M, Lanet J-L, Muntean T (eds) CASSIS’04. Lecture notes in computer science, vol 3362. Springer, Berlin, pp 49–69

  4. Barnett M, Naumann D (2004) Friends need a bit more: maintaining invariants over shared state. In: Kozen D (ed) MPC’04. Lecture notes in computer science, vol 3125. Springer, Berlin, pp 54–84

  5. Banerjee A, Naumann D, Rosenberg S (2008) Regional logic for local reasoning about global invariants. In: ECOOP’08. Lecture notes in computer science, vol 5142. Springer, Berlin, pp 387–411

  6. Boyland J (2003) Checking interference with fractional permissions. In: Cousot R (ed) SA’03. Lecture notes in computer science, vol 2694. Springer, Berlin, pp 55–72

  7. Brookes SD (1986) A fully abstract semantics and a proof system for an Algol-like language with sharing. In: Melton A (ed) MFPS’85. Lecture notes in computer science, vol 239. Springer, Berlin, pp 59–100

  8. Detlefs DL, Leino KRM, Nelson G (1998) Wrestling with rep-exposure. Technical Report 156, DEC-SRC

  9. Dietl W, Müller P (2005) Universes: lightweight ownership for JML. J Object Technol 4(8): 5–32

    Article  Google Scholar 

  10. Harwood W, Cavalcanti A, Woodcock J (2008) A theory of pointers for the UTP. In: ICTAC’08. Lecture notes in computer science, vol 5160. Springer, Berlin, pp 141–155

  11. Hehner ECR (1993) A Practical Theory of Programming. Texts and Monographs in Computer Science. Springer, Berlin

    Google Scholar 

  12. Hoare CAR, He J (1998) Unifying Theories of Programming. Prentice Hall Series in Computer Science. Prentice Hall, New Jersey

    Google Scholar 

  13. Hearn PO’, Reynolds J, Yang H (2001) Local reasoning about programs that alter data structures. In: CSL’01. Lecture notes in computer science, vol 2142. Springer, Berlin, pp 1–19

  14. Hearn PO’, Yang H, Reynolds J (2004) Separation and information hiding. In: POPL’04, pp 268–280

  15. Kassios IT (2006) Dynamic frames: support for framing, dependencies and sharing without restrictions. In: Misra J, Nipkow T, Sekerinski E (eds) FM’06. Lecture notes in computer science, vol 4085. Springer, Berlin, pp 268–283

  16. Kassios IT (2006) A theory of object oriented refinement. PhD thesis, University of Toronto

  17. Leino KRM (1998) Data groups: specifying the modification of extended state. In: OOPSLA’98. ACM, New York, pp 144–153

  18. Leino KRM (2008) Specification and verification of object-oriented software. In: Marktoberdorf International Summer School 2008, Lecture Notes

  19. Leino KRM, Müller P (2004) Object invariants in dynamic contexts. In: Odersky M (ed) ECOOP’04. Lecture notes in computer science, vol 3086. Springer, Berlin, pp 491–516

  20. Leino KRM, Müller P (2006) A verification methodology for model fields. In: Sestoft P (ed) ESOP’06. Lecture notes in computer science, vol 3924. Springer, Berlin, pp 115–130

  21. Leino KRM, Müller P (2009) A basis for verifying multi-threaded programs. In: Castagna G (ed) ESOP’09. Lecture notes in computer science, vol 5502. Springer, Berlin, pp 378–393

  22. Leino KRM, Nelson G (2002) Data abstraction and information hiding. ACM Trans Program Lang Syst 24(5): 491–553

    Article  Google Scholar 

  23. Leino KRM, Poetzsch-Heffter A, Zhou Y (2002) Using data groups to specify and check side effects. In: PLDI’02. ACM, New York, pp 246–257

  24. McCarthy J, Hayes PJ (1969) Some philosophical problems from the standpoint of artificial intelligence. Mach Intell 4: 463–502

    MATH  Google Scholar 

  25. Müller P, Poetzsch-Heffter A, Leavens G (2003) Modular specification of frame properties in JML. Concurrency Comput Pract Experience 15: 117–154

    Article  MATH  Google Scholar 

  26. Müller P (2002) Modular Specification and Verification of Object-Oriented Programs. Lecture notes in computer science, vol 2262. Springer, Berlin

  27. Parkinson M, Bierman G (2005) Separation logic and abstraction. In: POPL’05, pp 247–258

  28. Reynolds J (2002) Separation logic: a logic for shared mutable data structures. In: LICS’02. IEEE Computer Society, USA, pp 55–74

  29. Smith MA, Gibbons J (2008) Unifying theories of locations. In: Butterfield A (ed) UTP’08

  30. Smans J, Jacobs B, Piessens F (2008) Implicit dynamic frames. In: FTfJP’08

  31. Smans J, Jacobs B, Piessens F (2008) VeriCool: an automatic verifier for a concurrent object-oriented language. In: FMOODS ’08. Lecture notes in computer science. Springer, Berlin, pp 220–239

  32. Smans J, Jacobs B, Piessens F (2009) Implicit dynamic frames: Combining dynamic frames and separation logic. In: ECOOP’09

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to I. T. Kassios.

Additional information

J.C.P. Woodcock

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kassios, I.T. The dynamic frames theory. Form Asp Comp 23, 267–288 (2011). https://doi.org/10.1007/s00165-010-0152-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-010-0152-5

Keywords

Navigation