Ownership Types for Object Encapsulation (2003)
Cached
Download Links
- [www.eecs.umich.edu]
- [www.pmg.lcs.mit.edu]
- [www.pmg.lcs.mit.edu]
- [pmg.csail.mit.edu]
- [www.eecs.umich.edu]
- [pmg.lcs.mit.edu]
- [www.pmg.lcs.mit.edu]
- DBLP
Other Repositories/Bibliography
| Venue: | In Principles of Programming Languages (POPL |
| Citations: | 125 - 8 self |
BibTeX
@INPROCEEDINGS{Boyapati03ownershiptypes,
author = {Chandrasekhar Boyapati and Barbara Liskov and Liuba Shrira},
title = {Ownership Types for Object Encapsulation},
booktitle = {In Principles of Programming Languages (POPL},
year = {2003},
pages = {213--223},
publisher = {ACM Press}
}
Years of Citing Articles
OpenURL
Abstract
object encapsulation and enable local reasoning about program correctness in object-oriented languages. However, a type system that enforces strict object encapsulation is too constraining: it does not allow e#cient implementation of important constructs like iterators. This paper argues that the right way to solve the problem is to allow objects of classes defined in the same module to have privileged access to each other's representations; we show how to do this for inner classes. This approach allows programmers to express constructs like iterators and yet supports local reasoning about the correctness of the classes, because a class and its inner classes together can be reasoned about as a module. The paper also sketches how we use our variant of ownership types to enable e#cient software upgrades in persistent object stores.







