Verified Causal Broadcast with Liquid Haskell
Verified Causal Broadcast with Liquid Haskell
复制标题
使用 Liquid Haskell 验证因果广播
DOI:
10.1145/3587216.3587222
复制
发表时间:
2023
期刊:
影响因子:
--
通讯作者:
Kuper, Lindsey
中科院分区:
文献类型:
--
作者:
Redmond, Patrick;Shen, Gan;Vazou, Niki;Kuper, Lindsey
Protocols to ensure that messages are delivered in causal order are a ubiquitous building block of distributed systems. For instance, distributed data storage systems can use causally ordered message delivery to ensure causal consistency, and CRDTs can rely on the existence of an underlying causally-ordered messaging layer to simplify their implementation. A causal delivery protocol ensures that when a message is delivered to a process, any causally preceding messages sent to the same process have already been delivered to it. While causal delivery protocols are widely used, verification of their correctness is less common, much less machine-checked proofs about executable implementations.We implemented a standard causal broadcast protocol in Haskell and used the Liquid Haskell solver-aided verification system to express and mechanically prove that messages will never be delivered to a process in an order that violates causality. We express this property using refinement types and prove that it holds of our implementation, taking advantage of Liquid Haskell’s underlying SMT solver to automate parts of the proof and using its manual theorem-proving features for the rest. We then put our verified causal broadcast implementation to work as the foundation of a distributed key-value store.
登录
查看更多内容
DOI:
--
发表时间:
2013
期刊:
影响因子:
--
作者:
Shin;Conor McBride;Stephanie Weirich
通讯作者:
Stephanie Weirich
DOI:
10.1016/0020-0190(91)90008-6
发表时间:
1991-10
期刊:
Inf. Process. Lett.
影响因子:
--
作者:
M. Raynal;A. Schiper;S. Toueg
通讯作者:
M. Raynal;A. Schiper;S. Toueg
DOI:
--
发表时间:
2015
期刊:
WGP@ICFP
影响因子:
--
作者:
Alp Mestanogullari;Sönke Hahn;Julian K. Arni;Andres Löh
通讯作者:
Andres Löh
DOI:
--
发表时间:
1988
期刊:
影响因子:
--
作者:
Frank B. Schmuck
通讯作者:
Frank B. Schmuck
DOI:
--
发表时间:
2009
期刊:
ACM SIGPLAN International Workshop on Types In Languages Design And Implementation
影响因子:
--
作者:
U. Norell
通讯作者:
U. Norell