Kalas: A Verified, End-To-End Compiler for a Choreographic Language
Paper in 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

Author

Johannes Åman Pohjola

University of New South Wales (UNSW)

Alejandro Gómez Londoño

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

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,

Subject Categories

Computer Engineering

Embedded Systems

Computer Systems

DOI

10.4230/LIPIcs.ITP.2022.27

More information

Latest update

9/5/2022 9