Chapter

Aliasing in Object-Oriented Programming. Types, Analysis and Verification

Volume 7850 of the series Lecture Notes in Computer Science pp 15-58

Ownership Types: A Survey

  • Dave ClarkeAffiliated withiMinds-DistriNet, Department of Computer Science, KU Leuven
  • , Johan ÖstlundAffiliated withDepartment of Information Technology, Uppsala University
  • , Ilya SergeyAffiliated withiMinds-DistriNet, Department of Computer Science, KU Leuven
  • , Tobias WrigstadAffiliated withDepartment of Information Technology, Uppsala University

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to object-oriented programming languages. Rather than simply protecting the fields of an object from external access, ownership types protect also the objects stored in the fields, thereby enabling an object to claim (exclusive) ownership of and access to other objects. Furthermore, this notion is statically enforced by now-standard type-checking techniques.

Originating as the formalisation of the core of Flexible Alias Protection, ownership types have since been extended and adapted in many ways, and the notion of protection provided has been refined into topological and encapsulation dimensions. This article surveys the various flavours of ownership types that have been developed over the years, along with the many applications and other developments. The chapter concludes by suggesting some directions for future work.