论文标题

通过提供互动的抽象在TLA+中指定的共识协议的组成模型检查

Compositional Model Checking of Consensus Protocols Specified in TLA+ via Interaction-Preserving Abstraction

论文作者

Gu, Xiaosong, Cao, Wei, Zhu, Yicong, Song, Xuan, Huang, Yu, Ma, Xiaoxing

论文摘要

共识协议广泛用于构建可靠的分布式软件系统,其正确性至关重要。 TLA+是一种轻巧的正式规范语言,可以精确地规范系统设计和详尽的设计,而无需任何人力。 TLA+的特征使其在学术界和行业中的共识协议的规范和模型检查中广泛使用。但是,TLA+的应用受到模型检查中状态爆炸问题的限制。尽管组成模型检查对于驯服状态爆炸问题至关重要,但现有的构图检查技术不能充分考虑TLA+的特征。 在这项工作中,我们提出了提供相互作用的抽象(IPA)框架,该框架利用TLA+的特征,并启用了TLA+指定的共识协议的实用有效的组成模型检查。在IPA框架中,系统规范分为多个模块,每个模块都分为内部零件和交互部分。提供相互作用的抽象的基本思想是省略每个模块的内部部分,以便另一个模块无法区分它是否与原始模块相互作用或缩写的摘要。 我们将IPA框架用于对两个共识协议筏和平行线的TLA+规范的组成检查。筏是一种共识协议,最初是在学术界开发的,然后在行业中广泛使用。 PallalLaft是Polarfs(商业数据库Alibaba poloardb的分布式文件系统)中的复制协议。我们证明,在现实情况下,IPA框架易于使用,同时大大降低了模型检查成本。

Consensus protocols are widely used in building reliable distributed software systems and its correctness is of vital importance. TLA+ is a lightweight formal specification language which enables precise specification of system design and exhaustive checking of the design without any human effort. The features of TLA+ make it widely used in the specification and model checking of consensus protocols, both in academia and industry. However, the application of TLA+ is limited by the state explosion problem in model checking. Though compositional model checking is essential to tame the state explosion problem, existing compositional checking techniques do not sufficiently consider the characteristics of TLA+. In this work, we propose the Interaction-Preserving Abstraction (IPA) framework, which leverages the features of TLA+ and enables practical and efficient compositional model checking of consensus protocols specified in TLA+. In the IPA framework, system specification is partitioned into multiple modules, and each module is divided to the internal part and the interaction part. The basic idea of the interaction-preserving abstraction is to omit the internal part of each module, such that another module cannot distinguish whether it is interacting with the original module or the coarsened abstract one. We use the IPA framework to the compositional checking of the TLA+ specification of two consensus protocols Raft and ParallelRaft. Raft is a consensus protocol which is originally developed in the academia and then widely used in industry. ParallelRaft is the replication protocol in PolarFS, the distributed file system for the commercial database Alibaba PoloarDB. We demonstrate that the IPA framework is easy to use in realistic scenarios and at the same time significantly reduces the model checking cost.

扫码加入交流群

加入微信交流群

微信交流群二维码

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