Generic ownership for generic Java

Date

Authors

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

Journal Title

Journal ISSN

Volume Title

Publisher

Association for Computing Machinery (ACM)

Access Statement

Research Projects

Organizational Units

Journal Issue

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.

Description

Citation

Source

Book Title

OOPSLA '06: Proceedings of the 21st Annual ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications

Entity type

Publication

Access Statement

License Rights

Restricted until