skip to main content
article
Free Access

BI-hyperdoctrines, higher-order separation logic, and abstraction

Published:02 August 2007Publication History
Skip Abstract Section

Abstract

We present a precise correspondence between separation logic and a simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI. Moreover, we introduce the notion of a BI hyperdoctrine, show that it soundly models classical and intuitionistic first- and higher-order predicate BI, and use it to show that we may easily extend separation logic to higher-order. We also demonstrate that this extension is important for program proving, since it provides sound reasoning principles for data abstraction in the presence of aliasing.

References

  1. Banerjee, A. and Naumann, D. 2005a. Ownership confinement ensures representation independence for object-oriented programs. J. ACM 52, 6, 894--960. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Banerjee, A. and Naumann, D. 2005b. State based ownership, reentrance and encapsulation. In Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science, vol. 3586. Springer, 387--411. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Barnett, M., DeLine, R., Fähndrich, M., Leino, K., and Schulte, W. 2003. Verification of object-oriented programs with invariants. In Proceedings of the Conference on Formal Techniques for Java-Like Programs.Google ScholarGoogle Scholar
  4. Barnett, M. and Naumann, D. 2004. Friends need a bit more: Maintaining invariants over shared shate. In Proceedings of the Conference on Mathematics of Program Construction (MPC).Google ScholarGoogle Scholar
  5. Biering, B. 2004. On the logic of bunched implications and its relation to separation logic. M.S. thesis, University of Copenhagen.Google ScholarGoogle Scholar
  6. Biering, B., Birkedal, L., Butz, C., Hyland, J., van Oosten, J., and Streicher, P. R. T. 2006. Notes on the dialectica topos. To appear.Google ScholarGoogle Scholar
  7. Birkedal, L., Torp-Smith, N., and Yang, H. 2005. Semantics of separation-logic typing and higher-order frame rules. In Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (LICS). IEEE Press, Chicago, IL, 260--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Birkedal, L., Torp-Smith, N., and Reynolds, J. 2004. Local reasoning about a copying garbage collector. In Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) (Venice, Italy). 220--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bornat, R., Calcagno, C., O'Hearn, P., and Parkinson, M. 2005. Permission accounting in separation logic. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) (Long Beach, CA). ACM, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bornat, R., Calcagno, C., and O'Hearn, P. 2004. Local reasoning, separation and aliasing. In Proceedings of the SPACE (Venice, Italy).Google ScholarGoogle Scholar
  11. Birkedal, L. and Yang, H. 2006. Relational parametricity and separation logic. To appear.Google ScholarGoogle Scholar
  12. Hoare, C. A. R. 1972. Proof of correctness of data representations. Acta Inf. 1, 271--281.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hoare, C. A. R. 1971. Procedures and parameters: An axiomatic approach. In Proceedings of the Symposium on Semantics of Algorithmic Languages, E. Engler, ed. Springer, 102--116.Google ScholarGoogle ScholarCross RefCross Ref
  14. Ishtiaq, S. and O'Hearn, P. W. 2001. BI as an assertion language for mutable data structures. In Proceedings of the 28th Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL) (London). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jacobs, B. 1999. Categorical Logic and Type Theory. Studies in Logic and the Foundations of Mathematics, vol. 141. North-Holland, Amsterdam, The Netherlands.Google ScholarGoogle Scholar
  16. Krishnaswami, N., Birkedal, L., Aldrich, J., and Reynolds, J. 2006. Idealized ML and its separation logic. To appear.Google ScholarGoogle Scholar
  17. Lawvere, F. 1969. Adjointness in foundations. Dialectica 23, 3-4, 281--296.Google ScholarGoogle ScholarCross RefCross Ref
  18. Leavans, G. 1988. Verifying object-oriented programs that use subtypes. Ph.D. thesis, MIT. Published as MIT/LCS/TR-439 in February 1989.Google ScholarGoogle Scholar
  19. Leino, K. 1995. Toward reliable modular programs. Ph.D. thesis, California Institute of Technology. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Leino, K. R. M. and Müller, P. 2006. A verification methodology for model fields. In Proceedings of the European Symposium on Programming (ESOP), P. Sestoft, ed. Lecture Notes in Computer Science, vol. 3924. Springer, 115--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Leino, K. and Müller, P. 2004. Object invariants in dynamic contexts. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP).Google ScholarGoogle Scholar
  22. Liskow, B. and Guttag, J. 1986. Abstraction and Specification in Program Development. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. MacLane, S. and Moerdijk, I. 1994. Sheaves in Geometry and Logic. Universitext. Springer, New York. A first introduction to topos theory, Corrected reprint of the 1992 edition.Google ScholarGoogle Scholar
  24. Mitchell, J. C. and Plotkin, G. D. 1985. Abstract types have existential type. In Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL) (New Orleans, LA), 37--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Müller, P. 2002. Modular Specification and Verification of Object-Oriented Programs. Lecture Notes in Computer Science, vol. 2262, Springer.Google ScholarGoogle Scholar
  26. Nanevski, A., Ahmed, A., Morrisett, G., and Birkedal, L. 2006. Abstract predicates and mutable ADTs in Hoare type theory. Tech. Rep. TR--14-06, Harvard University.Google ScholarGoogle Scholar
  27. Naumann, D. and Barnett, M. 2006. Towards imperative modules: Reasoning about invariants and mutable state. Theor. Comput. Sci. 365, 143--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. O'Hearn, P. W. 2004. Resources, concurrency and local reasoning. In Proceedings of the 15th International Conference on Concurrency Theory (CONCUR) (London). Lecture Notes in Computer Science, vol. 3170. Springer, 49--67.Google ScholarGoogle Scholar
  29. O'Hearn, P. W., Yang, H., and Reynolds, J. C. 2004. Separation and information hiding. In Proceedings of the 31st ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL) (Venice, Italy). 268--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. O'Hearn, P. W., Yang, H., and Reynolds, J. C. 2003. Separation and information hiding (work in progress). Extended version of O'Hearn et al. {2004}.Google ScholarGoogle Scholar
  31. O'Hearn, P. and Pym, D. J. 1999. The logic of bunched implications. Bull. Symb. Logic 5, 2 (Jun.).Google ScholarGoogle ScholarCross RefCross Ref
  32. Parkinson, M. and Bierman, G. 2005. Separation logic and abstraction. In Proceedings of the 32nd Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages (POPL) (Long Beach, CA). 247--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Pitts, A. M. 2001. Categorical logic. In Handbook of Logic in Computer Science, volume 5: Algebraic and Logical Structures, S. Abramsky et al., eds. Clarendon Press, Oxford, UK. Chapter 2.Google ScholarGoogle Scholar
  34. Pym, D. J. 2004. Errata and remarks for the semantics and proof theory of the logic of bunched implications. Addendum to Pym {2002}. http://www.cs.bath.ac.uk/~pym/.Google ScholarGoogle Scholar
  35. Pym, D. 2002. The Semantics and Proof Theory of the Logic of Bunched Implications. Applied Logics Series, vol. 26. Kluwer.Google ScholarGoogle ScholarCross RefCross Ref
  36. Pym, D. J., O'Hearn, P. W., and Yang, H. 2004. Possible worlds and resources: The semantics of BI. Theor. Comput. Sci. 315, 1, 257--305. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Reynolds, J. C. 2002. Separation logic: A logic for shared mutable data structures. In Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science (LICS) (Copenhagen, Denmark). IEEE Press 55--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Silberschatz, A. and Galvin, P. 1998. Operating Systems Concepts, 5th ed. World Student Series. Addison-Wesley, Reading, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Yang, H. 2001. Local reasoning for stateful programs. Ph.D. thesis, University of Illinois, Urbana-Champaign. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Yang, H. and O'Hearn, P. 2002. A semantic basis for local reasoning. In Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures (FOSSACS) (Grenoble, France). Springer, 402--416. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. BI-hyperdoctrines, higher-order separation logic, and abstraction

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Programming Languages and Systems
            ACM Transactions on Programming Languages and Systems  Volume 29, Issue 5
            Special Issue ESOP'05
            August 2007
            213 pages
            ISSN:0164-0925
            EISSN:1558-4593
            DOI:10.1145/1275497
            Issue’s Table of Contents

            Copyright © 2007 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 2 August 2007
            Published in toplas Volume 29, Issue 5

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!