ACM Home Page
Please provide us with feedback. Feedback
Separation and information hiding
Full text PdfPdf (321 KB)
Source
ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 31 ,  Issue 3  (April 2009) table of contents
Article No. 11  
Year of Publication: 2009
ISSN:0164-0925
Authors
Peter W. O'Hearn  Queen Mary, University of London
Hongseok Yang  Queen Mary, University of London
John C. Reynolds  Carnegie Mellon University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 40,   Downloads (12 Months): 263,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1498926.1498929
What is a DOI?

ABSTRACT

We investigate proof rules for information hiding, using the formalism of separation logic. In essence, we use the separating conjunction to partition the internal resources of a module from those accessed by the module's clients. The use of a logical connective gives rise to a form of dynamic partitioning, where we track the transfer of ownership of portions of heap storage between program components. It also enables us to enforce separation in the presence of mutable data structures with embedded addresses that may be aliased.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Banerjee, A. and Naumann, D. A. 2005. State based ownership, reentrance, and encapsulation. In Proceedings of the 19th European Conference on Object-Oriented Programming (ECOOP).
 
3
Barnett, M., DeLine, R., Fahndrich, M., Leino, K., and Schulte, W. 2004. Verification of object-oriented programs with invariants. J. Obj. Techn. 3, 6, 27--56.
 
4
Benton, N. 2006. Abstracting allocation. In Proceedings of the 20th International Workshop on Computer Science Logic (CSL). 182--196.
5
 
6
 
7
Birkedal, L. and Yang, H. 2007. Relational parametricity and separation logic. In Proceedings of the 10th International Conference on Foundations of Software Science and Computation Structures (FOSSACS).
 
8
9
 
10
Brinch Hansen, P., Ed. 2002. The Origin of Concurrent Programming. Springer-Verlag.
 
11
 
12
 
13
Cook, S. A. 1978. Soundness and completeness of an axiomatic system for program verification. SIAM J. Comput. 7, 70--90.
14
 
15
Hoare, C. A. R. 1971. Procedures and parameters: An axiomatic approach. In Proceedings of the Symposium on the Semantics of Algebraic Languages, E. Engler, Ed. Springer, 102--116. Lecture Notes in Math. 188.
 
16
Hoare, C. A. R. 1972a. Proof of correctness of data representations. Acta Informatica 4, 271--281.
 
17
Hoare, C. A. R. 1972b. Towards a theory of parallel programming. In Operating Systems Techniques, Hoare and Perrot, Eds. Academic Press.
18
19
20
 
21
 
22
Krishnaswami, N., Aldrich, J., and Birkedal, L. 2007. A modular verification of the subject-observer pattern via higher-order separation logic. In Proceedings of the 9th Workshop on Formal Techniques for Java-like Programs.
 
23
Leino, K. and Müller, P. 2004. Object invariants in dynamic contexts. In Proceedings of the 18th European Conference on Object-Oriented Programming (ECOOP).
24
25
26
 
27
 
28
29
 
30
 
31
Naumann, D. A. and Barnett, M. 2004a. Friends need a bit more: Maintaining invariants over shared state. In Mathematics of Program Construction.
 
32
 
33
 
34
35
 
36
Parkinson, M. 2005. Local reasoning for Java. Ph.D. thesis, Cambridge University, Cambridge, UK.
 
37
Parkinson, M. 2007. Class invariants: the end of the road? Position paper presented at 3rd International Workshop on Aliasing, Confinement, and Ownership in Object-Oriented Programming (IWACO).
38
 
39
 
40
Parnas, D. 1972a. Information distribution aspects of design methodology. Proceedings of International Federation for Information Processing (IFIP) 1, 339--344.
41
 
42
Peterson, R., Birkedal, L., Nanevski, A., and Morrisett, G. 2008. A realizability model of impredicative Hoare type theory. In Proceedings of the 17th European Symposium on Programming (ESOP).
 
43
Plotkin, G. 1983. Pisa notes (on domain theory).
 
44
Reynolds, J. C. 1983. Types, abstraction and parametric polymorphism. Proceedings of International Federation for Information Processing (IFIP).
 
45
 
46
 
47
Schwarz, J. S. 1977. Generic commands—a tool for partial correctness formalisms. Comput. J. 20, 2, 151--155.

Collaborative Colleagues:
Peter W. O'Hearn: colleagues
Hongseok Yang: colleagues
John C. Reynolds: colleagues