MobilityReadingGroup

π-calculus, Session Types research at Imperial College

Verifying Asynchronous Interactions via Communicating Session Automata
Julien LANGE, Nobuko YOSHIDA
31st International Conference on Computer-Aided Verification (CAV 2019). p. 117 - 97

The relationship between communicating automata and session types is the cornerstone of many diverse theories and tools, including type checking, code generation, and runtime verification. A serious limitation of session types is that, while endpoint programs interact asynchronously, the underlying property which guarantees safety of session types is too synchronous: it requires a one-to-one synchronisation between send and receive actions. This paper proposes a sound procedure to verify properties of communicating session automata (CSA), i.e., communicating automata that correspond to multiparty session types. We introduce a new asynchronous compatibility property for CSA, called k-multiparty compatibility (k-MC), which is a strict superset of the synchronous multiparty compatibility proposed in the literature. It is decomposed into two bounded properties: (i) a condition called k-safety which guarantees that, within the bound, all sent messages can be received and each automaton can make a move; and (ii) a condition called k-exhaustivity which guarantees that all k-reachable send actions can be fired within the bound. We show that k-exhaustive systems soundly and completely characterise systems where each automaton behaves uniformly for any bound greater or equal to k. We show that checking k-MC is PSPACE-complete, but can be done efficiently over large systems by using partial order reduction techniques. We demonstrate that several examples from the literature are k-MC, but not synchronous compatible.

@inproceedings{LY2019,
  author = {Julien Lange and Nobuko Yoshida},
  title = {{Verifying Asynchronous Interactions via Communicating Session Automata}},
  booktitle = {31st International Conference on Computer-Aided Verification},
  series = {LNCS},
  volume = {11561},
  pages = {117--97},
  publisher = {Springer},
  year = 2019
}
@inproceedings{LY2019,
  author = {Julien Lange and Nobuko Yoshida},
  title = {{Verifying Asynchronous Interactions via Communicating Session Automata}},
  booktitle = {31st International Conference on Computer-Aided Verification},
  series = {LNCS},
  volume = {11561},
  pages = {117--97},
  publisher = {Springer},
  doi = "10.1007/978-3-030-25540-4 6",
  year = 2019
}