Leveraging TLA+ Specifications to Improve the Reliability of the ZooKeeper Coordination Service

02/06/2023
by   Lingzhi Ouyang, et al.
0

ZooKeeper is a coordination service, widely used as a backbone of various distributed systems. Though its reliability is of critical importance, testing is insufficient for an industrial-strength system of the size and complexity of ZooKeeper, and deep bugs can still be found. To this end, we resort to formal TLA+ specifications to further improve the reliability of ZooKeeper. Our primary objective is usability and automation, rather than full verification. We incrementally develop three levels of specifications for ZooKeeper. We first obtain the protocol specification, which unambiguously specify the Zab protocol behind ZooKeeper. We then proceed to a finer grain and obtain the system specification, which serves as the super-doc for system development. In order to further leverage the model-level specification to improve the reliability of the code-level implementation, we develop the test specification, which guides the explorative testing of the ZooKeeper implementation. The formal specifications help eliminate the ambiguities in the protocol design and provide comprehensive system documentation. They also help find new critical deep bugs in system implementation, which are beyond the reach of state-of-the-art testing techniques.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/14/2017

Formal specification of the FlexRay protocol using FocusST

FlexRay is a communication protocol developed by the FlexRay Consortium....
research
04/06/2022

Stateful Greybox Fuzzing

Many protocol implementations are reactive systems, where the protocol p...
research
10/24/2022

Understanding Inconsistency in Azure Cosmos DB with TLA+

Beyond implementation correctness of a distributed system, it is equally...
research
10/02/2019

RecordFlux: Formal Message Specification and Generation of Verifiable Binary Parsers

Various vulnerabilities have been found in message parsers of protocol i...
research
09/05/2017

Context Generation from Formal Specifications for C Analysis Tools

Analysis tools like abstract interpreters, symbolic execution tools and ...
research
08/14/2019

Network Reconnaissance and Vulnerability Excavation of Secure DDS Systems

Distribution Service (DDS) is a realtime peer-to-peer protocol that serv...
research
05/28/2020

eXtreme Modelling in Practice

Formal modelling is a powerful tool for developing complex systems. At M...

Please sign up or login with your details

Forgot password? Click here to reset