Skip to search boxSkip to navigationSkip to main content

Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

  • Luís Cruz-Filipe
    ,
  • Fabrizio Montesi
  • University of Southern Denmark
Research Output:
Conference Article in Proceeding or Book/Report chapter
Book chapter
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Book chapter
Peer-review

Host publication Subtitle

Leibniz International Proceedings in Informatics (LIPIcs)

Original language

English

Pages from-to (Number of pages)

Pages 1-19 (19 pages)

Publication milestones

  • Published - 01/07/2023

Publication status

Published - 01/07/2023

Place of publication

Dagstuhl, Germany

Volume

268

Publisher

Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik GmbH

Book series

  • Book series name: Leibniz International Proceedings in Informatics

ISBN (Electronic)

978-3-95977-284-6

Publication IDs

  • Scopus: 85168767662

Host publication title

14th International Conference on Interactive Theorem Proving (ITP 2023)

Abstract

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.

Publication metrics