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

02/23/2022
by   Xiaosong Gu, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/19/2023

Specification and Runtime Checking of Derecho, A Protocol for Fast Replication for Cloud Services

Reliable distributed systems require replication and consensus among dis...
research
07/16/2020

Model Checking Bitcoin and other Proof-of-Work Consensus Protocols

The Bitcoin Backbone Protocol [GKL15] is an abstraction of the bitcoin p...
research
07/24/2022

OCTAL: Graph Representation Learning for LTL Model Checking

Model Checking is widely applied in verifying the correctness of complex...
research
04/28/2020

Modeling the Raft Distributed Consensus Protocol in LNT

Consensus protocols are crucial for reliable distributed systems as they...
research
03/27/2018

A Modeling Framework for Schedulability Analysis of Distributed Avionics Systems

This paper presents a modeling framework for schedulability analysis of ...
research
12/04/2021

Towards automated verification of multi-party consensus protocols

Blockchain technology and related frameworks have recently received exte...
research
06/26/2018

A Compositional Approach for Schedulability Analysis of Distributed Avionics Systems

This work presents a compositional approach for schedulability analysis ...

Please sign up or login with your details

Forgot password? Click here to reset