Generic ownership for generic Java

Alex Potanin*, James Noble, Dave Clarke, Robert Biddle

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference Paperpeer-review

38 Citations (Scopus)

Abstract

Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) that own them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of ownership restrictions. Generic Ownership provides per-object ownership on top of a sound generic imperative language. The resulting system not only provides ownership guarantees comparable to established systems, but also requires few additional language mechanisms due to full reuse of parametric polymorphism. We formalise the core of Generic Ownership, highlighting that only restriction of this calls and owner subtype preservation are required to achieve deep ownership. Finally we describe how Ownership Generic Java (OGJ) was implemented as a minimal extension to Generic Java in the hope of bringing ownership types into mainstream programming.

Original languageEnglish
Title of host publicationOOPSLA '06: Proceedings of the 21st Annual ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications
PublisherAssociation for Computing Machinery (ACM)
Pages311-324
Number of pages14
ISBN (Print)1595933484, 9781595933485
DOIs
Publication statusPublished - Oct 2006
Externally publishedYes
Event21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA 2006 - Portland, OR, United States
Duration: 22 Oct 200626 Oct 2006

Publication series

NameACM SIGPLAN Notices
PublisherAssociation for Computing Machinery (ACM)
Number10
Volume41
ISSN (Print)1523-2867
ISSN (Electronic)0362-1340

Conference

Conference21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA 2006
Country/TerritoryUnited States
CityPortland, OR
Period22/10/0626/10/06

Cite this