首页> 外文会议>International conference on integrated formal methods >DIONE: A Protocol Verification System Built with Dafny for I/O Automata
【24h】

DIONE: A Protocol Verification System Built with Dafny for I/O Automata

机译:DIONE:使用Dafny构建的用于I / O自动机的协议验证系统

获取原文
获取外文期刊封面目录资料

摘要

Input/Output Automata (IOA) is an expressive specification framework with built-in properties for compositional reasoning. It has been shown to be effective in specifying and analyzing distributed and networked systems. The available verification engines for IOA are based on interactive theorem provers such as Isabelle, Larch, PVS, and Coq, and are expressive but require heavy human interaction. Motivated by the advances in SMT solvers, in this work we explore a different expressivity-automation tradeoff for IOA. We present Dione, the first IOA analysis system built with dafny and its SMT-powered toolchain and demonstrate its effectiveness on four distributed applications. Our translator tool converts Python-esque Dione language specification of IOA and their properties to parameterized Dafny modules. Dione automatically generates the relevant compatibility and composition lemmas for the IOA specifications,which can then be checked with Dafny on a per module-basis. We ensure that all resulting formulas are expressed mostly in fragments solvable by SMT solvers and hence enables Bounded Model Checking and k-induction-based invariant checking using Z3. We present successful applications of DIONE in verification of an asynchronous leader election algorithm, two self-stabilizing mutual exclusion algorithms, and CAN bus Arbitration. We automatically prove key invariants of all four protocols; for the last three this involves reasoning about arbitrary number of participants. These analyses are largely automatic with minimal manual inputs needed, and they demonstrate the effectiveness of this approach in analyzing networked and distributed systems.
机译:输入/输出自动机(IOA)是一种表达规范框架,具有用于构成推理的内置属性。它已被证明在指定和分析分布式和联网系统方面是有效的。用于IOA的可用验证引擎基于交互式定理证明,例如Isabelle,Larch,PVS和Coq,虽然具有表达能力,但需要大量的人为干预。受SMT求解器进步的推动,在这项工作中,我们探索了IOA的另一种表现力-自动化权衡。我们介绍Dione,它是第一个使用dafny及其SMT驱动的工具链构建的IOA分析系统,并展示了其在四个分布式应用程序上的有效性。我们的翻译工具将IOA的Python风格的Dione语言规范及其属性转换为参数化的Dafny模块。 Dione会自动为IOA规范生成相关的兼容性和组成引理,然后可以使用Dafny在每个模块的基础上对其进行检查。我们确保所有产生的公式大部分以SMT求解器可解的片段表示,因此可以使用Z3启用有界模型检查和基于k归纳的不变式检查。我们介绍了DIONE在异步领导者选举算法,两种自稳定互斥算法以及CAN总线仲裁的验证中的成功应用。我们自动证明所有四个协议的关键不变式。对于最后三个,这涉及到任意数量参与者的推理。这些分析在很大程度上是自动的,几乎不需要人工输入,它们证明了这种方法在分析网络和分布式系统中的有效性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号