Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

02/28/2023
by   Luís Cruz-Filipe, et al.
0

Choreographic programming is a paradigm where developers write the global specification (called choreography) of a communicating system, and then a correct-by-construction distributed implementation is compiled automatically. Unfortunately, it is possible to write choreographies that cannot be compiled, because of issues related to an agreement property known as knowledge of choice. This forces programmers to reason manually about implementation details that may be orthogonal to the protocol that they are writing. Amendment is an automatic procedure for repairing uncompilable choreographies. We present a formalisation of amendment from the literature, built upon an existing formalisation of choreographic programming. However, in the process of formalising the expected properties of this procedure, we discovered a subtle counterexample that invalidates the original published and peer-reviewed pen-and-paper theory. We discuss how using a theorem prover led us to both finding the issue, and stating and proving a correct formulation of the properties of amendment.

READ FULL TEXT

page 1

page 5

page 7

page 11

page 13

page 14

page 15

page 16

research
09/05/2022

A Formal Theory of Choreographic Programming

Choreographic programming is a paradigm for writing coordination plans f...
research
02/19/2021

"Do this! Do that!, And nothing will happen" Do specifications lead to securely stored passwords?

Does the act of writing a specification (how the code should behave) for...
research
01/03/2019

The Challenges in Specifying and Explaining Synthesized Implementations of Reactive Systems

In formal synthesis of reactive systems an implementation of a system is...
research
01/12/2021

Programming and Reasoning with Partial Observability

Computer programs are increasingly being deployed in partially-observabl...
research
03/06/2017

A lattice formulation of the F4 completion procedure

We write a procedure for constructing noncommutative Groebner bases. Red...
research
09/24/2021

How to write a coequation

There is a large amount of literature on the topic of covarieties, coequ...
research
08/19/2021

Towards an Automatic Proof of Lamport's Paxos

Lamport's celebrated Paxos consensus protocol is generally viewed as a c...

Please sign up or login with your details

Forgot password? Click here to reset