Kalas: A Verified, End-To-End Compiler for a Choreographic Language
Paper i proceeding, 2022

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.

Compiler Verification

Interactive Theorem Proving

Choreographies

Författare

Johannes Åman Pohjola

University of New South Wales (UNSW)

Alejandro Gómez Londoño

Chalmers, Data- och informationsteknik, Formella metoder

James Shaker

Australian National University

M. Norrish

Australian National University

Leibniz International Proceedings in Informatics, LIPIcs

18688969 (ISSN)

Vol. 237 27
9783959772525 (ISBN)

13th International Conference on Interactive Theorem Proving, ITP 2022
Haifa, Israel,

Ämneskategorier

Datorteknik

Inbäddad systemteknik

Datorsystem

DOI

10.4230/LIPIcs.ITP.2022.27

Mer information

Senast uppdaterat

2022-09-05