The undisciplined use of shared mutable state can be a source of program errors when aliases unsafely interfere with each other.#R##N#While protocol-based techniques to reason about interference abound, they do not address two practical concerns: the decidability of protocol composition and its integration with protocol abstraction.#R##N#We show that our composition procedure is decidable and that it ensures safe interference even when composing abstract protocols.#R##N#To evaluate the expressiveness of our protocol framework for safe shared memory interference, we show how this same protocol framework can be used to model safe, typeful message-passing concurrency idioms.
['Filipe Militão', 'Jonathan Aldrich', 'Luís Caires']
Composing Interfering Abstract Protocols