Ownership types for flexible alias protection

DG Clarke, JM Potter, J Noble - Proceedings of the 13th ACM SIGPLAN …, 1998 - dl.acm.org
DG Clarke, JM Potter, J Noble
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented …, 1998dl.acm.org
Object-oriented programming languages allow inter-object aliasing. Although necessary to
construct linked data structures and networks of interacting objects, aliasing is problematic in
that an aggregate object's state can change via an alias to one of its components, without
the aggregate being aware of any aliasing. Ownership types form a static type system that
indicates object ownership. This provides a flexible mechanism to limit the visibility of object
references and restrict access paths to objects, thus controlling a system's dynamic topology …
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the aggregate being aware of any aliasing.Ownership types form a static type system that indicates object ownership. This provides a flexible mechanism to limit the visibility of object references and restrict access paths to objects, thus controlling a system's dynamic topology. The type system is shown to be sound, and the specific aliasing properties that a system's object graph satisfies are formulated and proven invariant for well-typed programs.
ACM Digital Library