kmclib: Automated Inference and Verification of Session Types
Abstract
Theories and tools based on multiparty session types offer correctness guarantees for concurrent programs that communicate using message-passing. These guarantees usually come at the cost of an intrinsically top-down approach, which requires the communication behaviour of the entire program to be specified as a global type. This paper introduces kmclib: an OCaml library that supports the development of correct message-passing programs without having to write any types. The library utilises the meta-programming facilities of OCaml to automatically infer the session types of concurrent programs and verify their compatibility (k-MC). Well-typed programs, written with kmclib, do not lead to communication errors and cannot get stuck.
Cite
@article{arxiv.2111.12147,
title = {kmclib: Automated Inference and Verification of Session Types},
author = {Keigo Imai and Julien Lange and Rumyana Neykova},
journal= {arXiv preprint arXiv:2111.12147},
year = {2021}
}
Comments
kmclib is available at https://github.com/keigoi/kmclib