Computer Science Department
School of Computer Science, Carnegie Mellon University


Rely-Guarantee Protocols

Filipe Miltão, Jonathan Aldrich, Luís Caires

May 2014


Keywords: Aliasing, interference control, rely-guarantee, typestates

The use of shared mutable state, commonly seen in object-oriented systems, is often problematic due to the potential conflicting interactions between aliases to the same state. We present a substructural type system outfitted with a novel lightweight interference control mechanism, rely-guarantee protocols, that enables controlled aliasing of shared resources. By assigning each alias separate roles, encoded in a novel protocol abstraction in the spirit of rely-guarantee reasoning, our type system ensures that challenging uses of shared state will never interfere in an unsafe fashion. In particular, rely-guarantee protocols ensure that each alias will never observe an unexpected value, or type, when inspecting shared memory regardless of how the changes to that shared state (originating from potentially unknown program contexts) are interleaved at run-time.

151 pages

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by