paperbot · PL 论文追踪

RSS

Multris: Functional Verification of Multiparty Message Passing in Separation Logic

OOPSLA 8(OOPSLA2)2024引用 9
Jonas Kastberg Hinrichsen, Jules Jacobs, Robbert Krebbers

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

We introduce Multris, a separation logic for verifying functional correctness of programs that combine multiparty message-passing communication with shared-memory concurrency. The foundation of our work is a novel concept of multiparty protocol consistency , which guarantees safe communication among a set of parties, provided each party adheres to its prescribed protocol. Our concept of protocol consistency is inspired by the bottom-up approach for multiparty session types. However, by considering it in the context of separation logic instead of a type system, we go further in terms of generality by supporting new notions of implicit transfer of knowledge and implicit transfer of resources . We develop tactics for automatically verifying protocol consistency and for reasoning about message-passing operations in Multris. We evaluate Multris on a range of examples, including the well-known two- and three-buyer protocols, as well as a new verification benchmark based on Chang and Roberts's ring leader election protocol. To ensure the reliability of our work, we prove soundness of Multris w.r.t. a low-level channel semantics using the Iris framework in Coq.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{HinrichsenJK24,
  title = {Multris: Functional Verification of Multiparty Message Passing in Separation Logic},
  author = {Jonas Kastberg Hinrichsen and Jules Jacobs and Robbert Krebbers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689762}
}