Trustworthy Systems

Kalas: A verified, end-to-end compiler for a choreographic language

Authors

Johannes \AAman Pohjola, Alejandro G\'omez-Londo\ no, James Shaker and Michael Norrish

UNSW Sydney
Australia\ Chalmers University
Sweden\ Australian National University
Australia

Abstract

Choreographies are an abstraction for globally describing deadlock-free communicating systems. A choreography can be compiled into multiple endpoints preserving the global behavior, providing a path for concrete system implementations. Of course, the soundness of this approach hinges on the correctness of the compilation function. In this paper, we present a verified compiler for Kalas, a choreographic language. Its machine-checked end-to-end proof of correctness ensures all generated endpoints adhere to the system description, preserving the top-level communication guarantees. This work uses the verified CakeML compiler and Hol4 proof assistant, allowing for concrete executable implementations and statements of correctness at the machine code level for multiple architectures.

BibTeX Entry

  @inproceedings{Pohjola_GLSN_22,
    address          = {Haifa, Israel},
    author           = {Johannes {\AA}man Pohjola and Alejandro G{\'{o}}mez{-}Londo{\~n}o and James Shaker and Michael
                        Norrish},
    booktitle        = {International Conference on Interactive Theorem Proving},
    doi              = {10.4230/LIPIcs.ITP.2022.27},
    editor           = {June Andronick and Leonardo de Moura},
    month            = aug,
    pages            = {27:1--27:18},
    paperurl         = {https://trustworthy.systems/publications/papers/Pohjola_GLSN_22.pdf},
    publisher        = {Schloss Dagstuhl --- Leibniz-Zentrum f{\"u}r Informatik},
    series           = {LIPIcs},
    title            = {Kalas: {A} Verified, End-To-End Compiler for a Choreographic Language},
    volume           = {237},
    year             = {2022}
  }

Download