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 safe shared memory interference, we show how this same protocol framework can be used to model safe, typeful message-passing concurrency idioms.
@InProceedings{militao_et_al:LIPIcs.ECOOP.2016.16, author = {Milit\~{a}o, Filipe and Aldrich, Jonathan and Caires, Lu{\'\i}s}, title = {{Composing Interfering Abstract Protocols}}, booktitle = {30th European Conference on Object-Oriented Programming (ECOOP 2016)}, pages = {16:1--16:26}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-014-9}, ISSN = {1868-8969}, year = {2016}, volume = {56}, editor = {Krishnamurthi, Shriram and Lerner, Benjamin S.}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECOOP.2016.16}, URN = {urn:nbn:de:0030-drops-61108}, doi = {10.4230/LIPIcs.ECOOP.2016.16}, annote = {Keywords: shared memory interference, protocol composition, aliasing, linearity} }
Feedback for Dagstuhl Publishing