|
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
|
Richard Bornat , Cristiano Calcagno , Peter O'Hearn , Matthew Parkinson, Permission accounting in separation logic, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.259-270, January 12-14, 2005, Long Beach, California, USA
|
| |
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
|
Christian Grothoff , Jens Palsberg , Jan Vitek, Encapsulating objects with confined types, Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.241-255, October 14-18, 2001, Tampa Bay, FL, USA
|
| |
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
|
John Hogg, Islands: aliasing protection in object-oriented languages, Conference proceedings on Object-oriented programming systems, languages, and applications, p.271-285, October 06-11, 1991, Phoenix, Arizona, United States
|
 |
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.
|
|