A Semantics Comparison Workbench for a Concurrent, Asynchronous, Distributed Programming Language
Claudio Corrodi, Alexander Heu{\ss}ner, Christopher M. Poskitt

TL;DR
This paper introduces a semantics comparison workbench for SCOOP, enabling analysis and comparison of different execution models to ensure consistency and correctness in concurrent, asynchronous, and distributed programming.
Contribution
It presents a modular, graph transformation-based tool for analyzing and comparing semantics of SCOOP, supporting extensions and detecting discrepancies like deadlocks.
Findings
Identified deadlock-related discrepancies between SCOOP execution models
Demonstrated the workbench's ability to verify property consistency across semantics
Extended the formalisation to support distributed programming extensions
Abstract
A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to new language features---potentially affecting behavioural and safety properties of existing programs. This is exemplified by SCOOP, a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for SCOOP with fully and semi-automatic tools for analysing and comparing the state spaces of programs with respect to different execution models or semantics. We demonstrate its use in checking the consistency of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
