Advertisement

False Failure: Creating Failure Models for Separation Logic

  • Callum Bannister
  • Peter Höfner
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11194)

Abstract

Separation logic, an extension of Floyd-Hoare logic, finds countless applications in areas of program verification, but does not allow forward reasoning in the setting of total or generalised correctness. To support forward reasoning, separation logic needs to be equiped with a failure element. We present several ways on how to add such an element. We show that none of the ‘obvious’ extensions preserve all the algebraic properties desired. We develop more complicated models, satisfying the desired properties, and discuss their use for forward reasoning.

Notes

Acknowledgement

We are grateful to Gerwin Klein and Bernhard Möller for fruitful discussions and inspiring ideas. We also thank the anonymous referees for their valuable feedback.

References

  1. 1.
    Bannister, C., Höfner, P., Klein, G.: Backwards and forwards with separation logic. In: Avigad, J., Mahboubi, A. (eds.) ITP 2018. LNCS, vol. 10895, pp. 68–87. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-94821-8_5CrossRefGoogle Scholar
  2. 2.
    Birkhoff, G.: Lattice Theory, Colloquium Publications, vol. XXV. Annals of Mathematics Studies, 3rd edn. (1967)Google Scholar
  3. 3.
    Brotherston, J., Calcagno, C.: Classical BI: its semantics and proof theory. Log. Methods Comput. Sci. 6(3) (2010)Google Scholar
  4. 4.
    Brotherston, J., Villard, J.: Sub-classical Boolean bunched logics and the meaning of par. In: Kreutzer, S. (ed.) Computer Science Logic (CSL 2015). Leibniz International Proceedings in Informatics (LIPIcs), vol. 41, pp. 325–342. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2015)Google Scholar
  5. 5.
    Campbell, H.E.: The Structure of Arithmetic. Appleton-Century-Crofts, New York (1970)Google Scholar
  6. 6.
    Conway, J.H.: Regular Algebra and Finite Machines. Chapman and Hall, London (1971)zbMATHGoogle Scholar
  7. 7.
    Dang, H.H.: Algebraic calculi for separation logic. Ph.D. thesis, University of Augsburg, Germany (2014)Google Scholar
  8. 8.
    Dang, H.H., Höfner, P., Möller, B.: Algebraic separation logic. J. Logic Algebraic Program. 80(6), 221–247 (2011)CrossRefGoogle Scholar
  9. 9.
    Desharnais, J., Möller, B.: Non-associative Kleene algebra and temporal logics. In: Höfner, P., Pous, D., Struth, G. (eds.) RAMiCS 2017. LNCS, vol. 10226, pp. 93–108. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-57418-9_6CrossRefzbMATHGoogle Scholar
  10. 10.
    Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  11. 11.
    Dongol, B., Hayes, I.J., Struth, G.: Relational convolution, generalised modalities and incidence algebras. arXiv:1702.04603 (2017)
  12. 12.
    Dunn, J.: Star and perp. Philos. Perspect. 7, 331–357 (1993)CrossRefGoogle Scholar
  13. 13.
    Floyd, R.W.: Assigning meanings to programs. Math. Aspects Comput. Sci. 19, 19–32 (1967)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12, 576–580 (1969)CrossRefGoogle Scholar
  15. 15.
    Hoare, T., Möller, B., Struth, G., Wehrman, I.: Concurrent Kleene algebra and its foundations. J. Logic Algebraic Program. 80(6), 266–296 (2011)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Höfner, P., Möller, B.: An algebra of hybrid systems. J. Logic Algebraic Program. 78, 74–97 (2009)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Ishtiaq, S.S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. SIGPLAN Not. 36, 14–26 (2001)CrossRefGoogle Scholar
  18. 18.
    Jacobs, D., Gries, D.: General correctness: a unification of partial and total correctness. Acta Inf. 22(1), 67–83 (1985)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Trans. Comput. Logic 1(1), 60–76 (2000)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Mares, E.: Relevance logic. In: Zalta, E.N. (ed.) The Stanford Encyclopedia of Philosophy. Metaphysics Research Lab, Stanford University, Spring 2014 edn. (2014)Google Scholar
  21. 21.
    Möller, B.: Residuals and detachments. Technical report 2005–20, Institut für Informatik, Universität Augsburg (2005)Google Scholar
  22. 22.
    Möller, B., Struth, G.: Algebras of modal operators and partial correctness. Theor. Comput. Sci. 351(2), 221–239 (2006)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Möller, B., Struth, G.: wp Is wlp. In: MacCaull, W., Winter, M., Düntsch, I. (eds.) RelMiCS 2005. LNCS, vol. 3929, pp. 200–211. Springer, Heidelberg (2006).  https://doi.org/10.1007/11734673_16CrossRefGoogle Scholar
  24. 24.
    Mulvey, C.:&. In: Second Topology Conference (1986). Rendiconti del Circolo Matematico di Palermo 2(12), 99–104Google Scholar
  25. 25.
    Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45949-9CrossRefzbMATHGoogle Scholar
  26. 26.
    O’Hearn, P.: Resources, concurrency, and local reasoning. Theor. Comput. Sci. 375, 271–307 (2007)MathSciNetCrossRefGoogle Scholar
  27. 27.
    O’Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001).  https://doi.org/10.1007/3-540-44802-0_1CrossRefGoogle Scholar
  28. 28.
    Pym, D.: The Semantics and Proof Theory of the Logic of Bunched Implications. Kluwer Academic Publishers, Boston (2002)CrossRefGoogle Scholar
  29. 29.
    Reynolds, J.C.: Intuitionistic reasoning about shared mutable data structure. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Millennial Perspectives in Computer Science, pp. 303–321. Palgrave (2000)Google Scholar
  30. 30.
    Reynolds, J.C.: An introduction to separation logic. In: Broy, M., Sitou, W., Hoare, T. (eds.) Engineering Methods and Tools for Software Safety and Security, NATO Science for Peace and Security Series - D: Information and Communication Security, vol. 22, pp. 285–310. IOS Press (2009)Google Scholar
  31. 31.
    Rosenthal, K.: Quantales and Their Applications. Pitman Research Notes in Mathematics Series, vol. 234 (1990)Google Scholar
  32. 32.
    Vafeiadis, V., Parkinson, M.: A marriage of rely/guarantee and separation logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-74407-8_18CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Data61, CSIROSydneyAustralia
  2. 2.Computer Science and EngineeringUniversity of New South WalesSydneyAustralia

Personalised recommendations