Gradual Ownership Types

  • Ilya Sergey
  • Dave Clarke
Conference paper

DOI: 10.1007/978-3-642-28869-2_29

Part of the Lecture Notes in Computer Science book series (LNCS, volume 7211)
Cite this paper as:
Sergey I., Clarke D. (2012) Gradual Ownership Types. In: Seidl H. (eds) Programming Languages and Systems. ESOP 2012. Lecture Notes in Computer Science, vol 7211. Springer, Berlin, Heidelberg


Gradual Ownership Types are a framework allowing programs to be partially annotated with ownership types, while providing the same encapsulation guarantees. The formalism provides a static guarantee of the desired encapsulation property for fully annotated programs, and dynamic guarantees for partially annotated programs via dynamic checks inserted by the compiler. This enables a smooth migration from ownership-unaware to ownership-typed code.

The paper provides a formal account of gradual ownership types. The theoretical novelty of this work is in adapting the notion of gradual type system with respect to program heap properties, which, unlike types in functional languages or object calculi, impose restrictions not only on data, but also on the environment the data is being processed in. From the practical side, we evaluate applicability of Gradual Ownership Types for Java 1.4 in the context of the Java Collection Framework and measure the necessary amount of annotations for ensuring the owners-as-dominators invariant.

Download to read the full conference paper text

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Ilya Sergey
    • 1
  • Dave Clarke
    • 1
  1. 1.IBBT-DistriNet, Department of Computer ScienceKatholieke Universiteit LeuvenBelgium

Personalised recommendations