Ownership, encapsulation and the disjointness of type and effect

Dave Clarke, Sophia Drossopoulou

2002 · 259 citations · 29 references

DOIFull text

Open access

Concepts

TL;DR

Ownership types provide a statically enforceable notion of object-level encapsulation. The authors extend ownership types with computational effects to enable reasoning about object-oriented programs. Their system augments ownership types with effects, offering access control and effects reporting, and defines two formal systems for reasoning about aliasing and effect disjointness. These formal systems allow proofs that evaluating two expressions never creates aliases and that the expressions do not interfere with one another.

Abstract

Ownership types provide a statically enforceable notion of object-level encapsulation. We extend ownership types with computational effects to support reasoning about object-oriented programs. The ensuing system provides both access control and effects reporting. Based on this type system, we codify two formal systems for reasoning about aliasing and the disjointness of computational effects. The first can be used to prove that evaluation of two expressions will never lead to aliases, while the latter can be used to show the non-interference of two expressions.

References

29