Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

Luís Cruz-Filipe*, Fabrizio Montesi*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

15 Downloads (Pure)

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.

Original languageEnglish
Title of host publication14th International Conference on Interactive Theorem Proving, ITP 2023
EditorsAdam Naumowicz, Rene Thiemann
Number of pages19
Volume268
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Publication dateJul 2023
Article number11
ISBN (Electronic)9783959772846
DOIs
Publication statusPublished - Jul 2023
Event14th International Conference on Interactive Theorem Proving, ITP 2023 - Bialystok, Poland
Duration: 31. Jul 20234. Aug 2023

Conference

Conference14th International Conference on Interactive Theorem Proving, ITP 2023
Country/TerritoryPoland
CityBialystok
Period31/07/202304/08/2023
SeriesLeibniz International Proceedings in Informatics, LIPIcs
Volume268
ISSN1868-8969

Keywords

  • choreographic programming
  • compilation
  • program repair
  • theorem proving

Fingerprint

Dive into the research topics of 'Now It Compiles! Certified Automatic Repair of Uncompilable Protocols'. Together they form a unique fingerprint.

Cite this