Ownership types: A survey

D Clarke, J Östlund, I Sergey, T Wrigstad - Aliasing in object-oriented …, 2013 - Springer
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 …

Uniqueness and reference immutability for safe parallelism

CS Gordon, MJ Parkinson, J Parsons… - ACM SIGPLAN …, 2012 - dl.acm.org
A key challenge for concurrent programming is that side-effects (memory operations) in one
thread can affect the behavior of another thread. In this paper, we present a type system to …

Verification of concurrent programs with Chalice

KRM Leino, P Müller, J Smans - … on Foundations of Security Analysis and …, 2007 - Springer
A program verifier is a tool that allows developers to prove that their code satisfies its
specification for every possible input and every thread schedule. These lecture notes …

Capabilities for uniqueness and borrowing

P Haller, M Odersky - European conference on object-oriented …, 2010 - Springer
An important application of unique object references is safe and efficient message passing
in concurrent object-oriented programming. However, to prevent the ill effects of aliasing …

Reference capabilities for flexible memory management

E Arvidsson, E Castegren, S Clebsch… - Proceedings of the …, 2023 - dl.acm.org
Verona is a concurrent object-oriented programming language that organises all the objects
in a program into a forest of isolated regions. Memory is managed locally for each region, so …

ReIm & ReImInfer: Checking and inference of reference immutability and method purity

W Huang, A Milanova, W Dietl, MD Ernst - ACM SIGPLAN Notices, 2012 - dl.acm.org
Reference immutability ensures that a reference is not used to modify the referenced object,
and enables the safe sharing of object structures. A pure method does not cause side-effects …

OpenJML: software verification for Java 7 using JML, OpenJDK, and Eclipse

DR Cok - arxiv preprint arxiv:1404.6608, 2014 - arxiv.org
OpenJML is a tool for checking code and specifications of Java programs. We describe our
experience building the tool on the foundation of JML, OpenJDK and Eclipse, as well as on …

Ownership and immutability in generic Java

Y Zibin, A Potanin, P Li, M Ali, MD Ernst - ACM Sigplan Notices, 2010 - dl.acm.org
The Java language lacks the important notions of ownership (an object owns its
representation to prevent unwanted aliasing) and immutability (the division into mutable …

Generic ownership for generic Java

A Potanin, J Noble, D Clarke, R Biddle - Acm Sigplan Notices, 2006 - dl.acm.org
Ownership types enforce encapsulation in object-oriented programs by ensuring that objects
cannot be leaked beyond object (s) that own them. Existing ownership programming …

Ownership transfer in universe types

P Müller, A Rudich - Proceedings of the 22nd annual ACM SIGPLAN …, 2007 - dl.acm.org
Ownership simplifies reasoning about object-oriented programs by controlling aliasing and
modifications of objects. Several type systems have been proposed to express and check …