Discourje: Run-Time Verification of Communication Protocols in Clojure -- Live at Last (Technical Report)

Sung-Shik Jongmans
2024-06-30
Abstract:Multiparty session typing (MPST) is a formal method to make concurrent programming simpler. The idea is to use type checking to automatically prove safety (protocol compliance) and liveness (communication deadlock freedom) of implementations relative to specifications. Discourje is an existing run-time verification library for communication protocols in Clojure, based on dynamic MPST. The original version of Discourje can detect only safety violations. In this paper, we present an extension of Discourje to detect also liveness violations.
Programming Languages
What problem does this paper attempt to address?