Runtime verification for decentralised and distributed systems

A Francalanza, JA Pérez, C Sánchez - Lectures on Runtime Verification …, 2018 - Springer
This chapter surveys runtime verification research related to distributed systems. We report
solutions that study how to monitor system with some distributed characteristic, solutions that …

Gobra: Modular specification and verification of go programs

FA Wolf, L Arquint, M Clochard, W Oortwijn… - … on Computer Aided …, 2021 - Springer
Go is an increasingly-popular systems programming language targeting, especially,
concurrent and distributed systems. Go differentiates itself from other imperative languages …

Less is more: multiparty session types revisited

A Scalas, N Yoshida - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
Multiparty Session Types (MPST) are a ty** discipline ensuring that a message-passing
process implements a multiparty session protocol, without errors. In this paper, we propose a …

Haschor: Functional choreographic programming for all (functional pearl)

G Shen, S Kashiwa, L Kuper - Proceedings of the ACM on Programming …, 2023 - dl.acm.org
Choreographic programming is an emerging paradigm for programming distributed systems.
In choreographic programming, the programmer describes the behavior of the entire system …

Distributed programming using role-parametric session types in go: statically-typed endpoint apis for dynamically-instantiated communication structures

D Castro, R Hu, SS Jongmans, N Ng… - Proceedings of the ACM …, 2019 - dl.acm.org
This paper presents a framework for the static specification and safe programming of
message passing protocols where the number and kinds of participants are dynamically …

A static verification framework for message passing in go using behavioural types

J Lange, N Ng, B Toninho, N Yoshida - Proceedings of the 40th …, 2018 - dl.acm.org
The Go programming language has been heavily adopted in industry as a language that
efficiently combines systems programming with concurrency. Go's concurrency primitives …

Formalising a turing-complete choreographic language in coq

L Cruz-Filipe, F Montesi, M Peressotti - arxiv preprint arxiv:2102.02627, 2021 - arxiv.org
Theory of choreographic languages typically includes a number of complex results that are
proved by structural induction. The high number of cases and the subtle details in some of …

Choreography automata

F Barbanera, I Lanese, E Tuosto - International Conference on …, 2020 - Springer
Abstract Automata models are well-established in many areas of computer science and are
supported by a wealth of theoretical results including a wide range of algorithms and …

Zooid: a DSL for certified multiparty computation: from mechanised metatheory to certified multiparty processes

D Castro-Perez, F Ferreira, L Gheri… - Proceedings of the 42nd …, 2021 - dl.acm.org
We design and implement Zooid, a domain specific language for certified multiparty
communication, embedded in Coq and implemented atop our mechanisation framework of …

Fencing off go: liveness and safety for channel-based programming

J Lange, N Ng, B Toninho, N Yoshida - ACM SIGPLAN Notices, 2017 - dl.acm.org
Go is a production-level statically typed programming language whose design features
explicit message-passing primitives and lightweight threads, enabling (and encouraging) …