论文标题

ACTRIS 2.0:分离逻辑中的基于异步会话类型的推理

Actris 2.0: Asynchronous Session-Type Based Reasoning in Separation Logic

论文作者

Hinrichsen, Jonas Kastberg, Bengtson, Jesper, Krebbers, Robbert

论文摘要

消息传递是实施并发程序的有用抽象。但是,对于实际系统,它通常与其他编程和并发范式相结合,例如高阶函数,可变状态,共享记忆并发和锁。我们提出ACTRIS:证明使用上述功能组合的程序的功能正确性的逻辑。 Actris将现代并发分离逻辑的力量与基于会话类型的一流协议机制结合在一起,以在存在其他并发范式的情况下进行有关消息传递的推理。我们表明,ACTRI通过证明基于信道的合并排序,基于信道的负载平衡映射器以及使用简洁的规格来证明各种示例的功能正确性,包括基于信道的合并,基于通道的负载平衡映射器以及MAP-REDUCE模型的变体,提供了合适的抽象水平。尽管ACTRI已经在会议论文(Popl'20)中发表了,但本文大大扩展了先前的演讲。此外,它将ACTRIS扩展到ACTRIS 2.0,并具有基于会话类型的子类型的子协议概念,可以在组成通道端点时进行额外的灵活性,并且可以充分利用ACTRIS中消息传递的异步语义。 ACTRIS 2.0的音质使用其在虹膜框架中的协议机制模型证明了。我们已经在COQ证明助手中将ACTRI的理论与自定义策略以及论文中的所有示例进行了机械化。

Message passing is a useful abstraction for implementing concurrent programs. For real-world systems, however, it is often combined with other programming and concurrency paradigms, such as higher-order functions, mutable state, shared-memory concurrency, and locks. We present Actris: a logic for proving functional correctness of programs that use a combination of the aforementioned features. Actris combines the power of modern concurrent separation logics with a first-class protocol mechanism -- based on session types -- for reasoning about message passing in the presence of other concurrency paradigms. We show that Actris provides a suitable level of abstraction by proving functional correctness of a variety of examples, including a channel-based merge sort, a channel-based load-balancing mapper, and a variant of the map-reduce model, using concise specifications. While Actris was already presented in a conference paper (POPL'20), this paper expands the prior presentation significantly. Moreover, it extends Actris to Actris 2.0 with a notion of subprotocols -- based on session-type subtyping -- that permits additional flexibility when composing channel endpoints, and that takes full advantage of the asynchronous semantics of message passing in Actris. Soundness of Actris 2.0 is proven using a model of its protocol mechanism in the Iris framework. We have mechanised the theory of Actris, together with custom tactics, as well as all examples in the paper, in the Coq proof assistant.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源