In this thesis we study state isolation and efficient message-passing in the context of concurrent object-oriented programming. The 'ownership' and 'reference uniqueness' techniques have been extensively employed to address concurrency safety in the past. Strikingly the vast majority of the previous works rely on a set of statically checkable typing rules, either requiring an annotation overhead or introducing strong restrictions on the shape and the aliasing of the exchanged messages. Our contribution with SIAAM is the demonstration of a purely runtime, actor-based, annotation-free, aliasing-proof approach to concurrent state isolation allowing efficient communication of arbitrary objects graphs. We present the formal semantic of SIAAM, along with a machine-checked proof of isolation. An implementation of the model has been realized in a state-of-the-art Java virtual-machine and a set of custom static analyses automatically reduce the runtime overhead.
SIAAM: Simple Isolation for an Abstract Actor Machine