Computer Science Department
School of Computer Science, Carnegie Mellon University


Composing Interfering Abstract Protocols

Filipe Militao*,**, Jonathan Aldrich*, Luis Caires**

April 2016


This document is a companion technical report of the paper,
Composing Interfering Abstract Protocols, to appear in the
Proceedings of the European Conference on Object-Oriented Programming (ECOOP) 2016.
It includes the complete technical development, detailed proofs, and additional examples
and discussions that are not present in the ECOOP paper.

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

The undisciplined use of shared mutable state can be a source of program errors when aliases unsafely interfere with each other. 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. We show that our composition procedure is decidable and that it ensures safe interference even when composing abstract protocols. To evaluate the expressiveness of our protocol framework for ensuring safe shared memory interference, we show how this same protocol framework can be used to model safe, typeful message-passing concurrency idioms.

170 pages

*School of Computer Science, Carnegie Mellon
**Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, Caparica, Portugal

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by