Advertisement

Symbolic Execution with Separation Logic

  • Josh Berdine
  • Cristiano Calcagno
  • Peter W. O’Hearn
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3780)

Abstract

We describe a sound method for automatically proving Hoare triples for loop-free code in Separation Logic, for certain preconditions and postconditions (symbolic heaps). The method uses a form of symbolic execution, a decidable proof theory for symbolic heaps, and extraction of frame axioms from incomplete proofs. This is a precursor to the use of the logic in automatic specification checking, program analysis, and model checking.

Keywords

Model Check Operational Rule Proof Theory Symbolic Execution Proof Rule 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Berdine, J., Calcagno, C., O’Hearn, P.W.: A decidable fragment of separation logic. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 97–109. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Berdine, J., Calcagno, C., O’Hearn, P.W.: Smallfoot: A tool for checking Separation Logic footprint specifications. In preparation (2005)Google Scholar
  3. 3.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL 1977, pp. 238–252 (1977)Google Scholar
  4. 4.
    Ishtiaq, S.S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: POPL 2001, pp. 14–26 (2001)Google Scholar
  5. 5.
    Jia, L., Walker, D.: ILC: A foundation for automated reasoning about pointer programs. Draft (April 2005)Google Scholar
  6. 6.
    Leino, K.R.M., Nelson, G.: Data abstraction and information hiding. ACM Transactions on Programming Languages and Systems 24(5), 491–553 (2002)CrossRefGoogle Scholar
  7. 7.
    Möller, A., Schwartzbach, M.I.: The pointer assertion logic engine. In: PLDI 2001, pp. 221–231 (2001)Google Scholar
  8. 8.
    Morrisett, G., Ahmed, A., Fluet, M.: L3: A linear language with locations. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, pp. 293–307. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    O’Hearn, P.W.: On bunched typing. Journal of Functional Programming 13(4), 747–796 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    O’Hearn, P.W., Reynolds, J.C., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Pym, D.J.: The Semantics and Proof Theory of the Logic of Bunched Implications. Applied Logic Series, vol. 26. Kluwer Academic Publishers, Dordrecht (2002)zbMATHGoogle Scholar
  12. 12.
    Reynolds, J.C.: Separation Logic: A logic for shared mutable data structures. In: LICS 2002, pp. 55–74. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  13. 13.
    Rinetzky, N., Bauer, J., Reps, T., Sagiv, M., Wilhelm, R.: A semantics for procedure local heaps and its abstractions. In: POPL 2005, pp. 296–309 (2005)Google Scholar
  14. 14.
    Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. ACM TOPLAS 24(3), 217–298 (2002), doi:10.1145/514188.514190CrossRefGoogle Scholar
  15. 15.
    Sims, É.-J.: Extending separation logic with fixpoints and postponed substitution. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 475–490. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Walker, D., Morrisett, J.G.: Alias types for recursive data structures. In: Harper, R. (ed.) TIC 2000. LNCS, vol. 2071, pp. 177–206. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Josh Berdine
    • 1
  • Cristiano Calcagno
    • 2
  • Peter W. O’Hearn
    • 1
  1. 1.Queen MaryUniversity of London 
  2. 2.Imperial CollegeLondon

Personalised recommendations