Choreographies and Cost Semantics for Reliable Communicating Systems
Doctoral thesis, 2023

Communicating systems have become ubiquitous in today's society.
Unfortunately, the complexity of their interactions makes
them particularly prone to failures such as deadlocked states
caused by misbehaving components, or memory exhaustion due to a surge
in message traffic (malicious or not).
These vulnerabilities constitute a real risk to users, with
consequences ranging from minor inconveniences to the possibility of
loss of life and capital.
This thesis presents results that aim to increase the reliability of communicating systems.
First, we implement a choreography language that can, by construction, only describe deadlock-free systems.
Second, we develop a cost semantics to prove programs free of out-of-memory errors.
Lastly, we improve both results by using novel semantic approaches that strengthen key theorems and facilitate further proof development.
All of these results are formalized in the HOL4 theorem prover and integrated with the CakeML verified stack.

Opponent: Marco Carbone, Associate Professor at the Computer Science Department, IT University of Copenhagen, Denmark


Alejandro Gómez Londoño

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Kalas: A Verified, End-To-End Compiler for a Choreographic Language

Leibniz International Proceedings in Informatics, LIPIcs,; Vol. 237(2022)

Paper in proceeding

Dancing in a forest of interactions: An interaction tree-based semantics for choreographies

Do you have space for dessert? a verified space cost semantics for CakeML programs

Proceedings of the ACM on Programming Languages,; Vol. 4(2020)

Journal article

A flat reachability-based measure for CakeML's cost semantics

ACM International Conference Proceeding Series,; (2021)p. 1-9

Paper in proceeding

Communication systems have become integral to our daily lives, permeating most aspects of modern society.
From personal communication and social media platforms to critical infrastructures like transportation networks, financial systems, and healthcare services, our reliance on communication systems is pervasive. The ability to transmit information swiftly and efficiently has revolutionized how we work, socialize, access information, and conduct business. However, these systems' intricate nature and widespread usage make them vulnerable to failures that can disrupt our daily routines and pose significant risks to individuals, organizations, and society.

One of the most prevalent problems encountered in communication systems is deadlock states, where all or some parts of the system become incapable of communicating with each other. Deadlock states can be caused by malfunctioning components, a mismatch in communications, or out-of-memory errors due to excessive message traffic, intentional or unintentional. These vulnerabilities pose a tangible threat to users, ranging from minor inconveniences to potential risks to life and financial assets.

This thesis aims to improve the reliability of communication systems by presenting results that prevent the occurrence of deadlock states. First, we develop a programming language which, by construction, guarantees the absence of communication mismatches. Therefore, component interactions can only be constructed in such a way that prevents deadlock situations from arising. Second, we create a proof framework to verify the absence of out-of-memory errors in programs, ensuring system stability. Finally, we extend these results to improve their ease of use, fomenting their adoption and further development.

All results have been mechanically formalized within the HOL4 theorem prover and utilize the CakeML verified stack to validate our approach.

Pålitlig mjukvara via programmering och kompilering i logik

Swedish Foundation for Strategic Research (SSF) (FFL15-0191), 2017-01-01 -- 2021-12-31.

Subject Categories

Computer Science



Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 5338





Opponent: Marco Carbone, Associate Professor at the Computer Science Department, IT University of Copenhagen, Denmark

More information

Latest update