English

kmclib: Automated Inference and Verification of Session Types

Programming Languages 2021-11-29 v2

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.

Keywords

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