A Graph-Based Semantics Workbench for Concurrent Asynchronous Programs
Claudio Corrodi, Alexander Heu{\ss}ner, Christopher M. Poskitt

TL;DR
This paper introduces a graph-based semantics workbench for SCOOP, a concurrent object-oriented language, enabling analysis and comparison of different execution models to ensure correctness and identify issues like deadlocks.
Contribution
It presents a modular, graph transformation-based semantics workbench for SCOOP, facilitating automatic analysis and comparison of its execution models.
Findings
Identified a deadlock-related discrepancy between SCOOP's execution models.
Demonstrated the workbench's effectiveness in analyzing program semantics.
Showcased the use of graph transformations for modeling language abstractions.
Abstract
A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviours. This is exemplified by SCOOP---a concurrent object-oriented message-passing language---which has seen multiple semantics proposed and implemented over its evolution. We propose a "semantics workbench" with fully and semi-automatic tools for SCOOP, that can be used to analyse and compare programs with respect to different execution models. We demonstrate its use in checking the consistency of semantics by applying it to a set of representative programs, and highlighting a deadlock-related discrepancy between the principal execution models of the language. Our workbench is based on a…
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.
