Chapter 9 Reference 129

Multi-Grained Specifications for Distributed System Model Checking and Verification

Lingzhi Ouyang, Xudong Sun, Ruize Tang, Yu Huang, Madhav Jivrajani, Xiaoxing Ma and Tianyin Xu

A copy, republished under licence. Written by Lingzhi Ouyang, Xudong Sun, Ruize Tang, Yu Huang, Madhav Jivrajani, Xiaoxing Ma and Tianyin Xu and published at arxiv.org in 2025, reproduced here under CC BY 4.0. The original is the authoritative version.

Read it at the source

Computer Science > Distributed, Parallel, and Cluster Computing

[Submitted on 22 Sep 2024 (v1), last revised 27 Sep 2024 (this version, v3)]

Title:Multi-Grained Specifications for Distributed System Model Checking and Verification

View a PDF of the paper titled Multi-Grained Specifications for Distributed System Model Checking and Verification, by Lingzhi Ouyang and 5 other authors
View PDF HTML (experimental)
Abstract:This paper presents our experience specifying and verifying the correctness of ZooKeeper, a complex and evolving distributed coordination system. We use TLA+ to model fine-grained behaviors of ZooKeeper and use the TLC model checker to verify its correctness properties; we also check conformance between the model and code. The fundamental challenge is to balance the granularity of specifications and the scalability of model checking -- fine-grained specifications lead to state-space explosion, while coarse-grained specifications introduce model-code gaps. To address this challenge, we write specifications with different granularities for composable modules, and compose them into mixed-grained specifications based on specific scenarios. For example, to verify code changes, we compose fine-grained specifications of changed modules and coarse-grained specifications that abstract away details of unchanged code with preserved interactions. We show that writing multi-grained specifications is a viable practice and can cope with model-code gaps without untenable state space, especially for evolving software where changes are typically local and incremental. We detected six severe bugs that violate five types of invariants and verified their code fixes; the fixes have been merged to ZooKeeper. We also improve the protocol design to make it easy to implement correctly.
Subjects: Distributed, Parallel, and Cluster Computing (cs.DC); Software Engineering (cs.SE)
Cite as: arXiv:2409.14301 [cs.DC]
  (or arXiv:2409.14301v3 [cs.DC] for this version)
  https://doi.org/10.48550/arXiv.2409.14301
arXiv-issued DOI via DataCite

Submission history

From: Lingzhi Ouyang [view email]
[v1] Sun, 22 Sep 2024 02:59:56 UTC (383 KB)
[v2] Tue, 24 Sep 2024 11:32:54 UTC (370 KB)
[v3] Fri, 27 Sep 2024 08:15:53 UTC (370 KB)
Full-text links:

Access Paper:

    View a PDF of the paper titled Multi-Grained Specifications for Distributed System Model Checking and Verification, by Lingzhi Ouyang and 5 other authors
  • View PDF
  • HTML (experimental)
  • TeX Source

Current browse context:

cs.DC
< prev   |   next >
Change to browse by:

References & Citations

Loading...

BibTeX formatted citation

Data provided by:

Bookmark

BibSonomy Reddit
Which authors of this paper are endorsers? | Disable MathJax (What is MathJax?)

Provenance

Source
https://arxiv.org/abs/2409.14301
Licence
CC BY 4.0
Copy of
sha256:d677b3fddf616f35…

Text extracted from the page as fetched, with navigation and advertising removed. If it looks wrong, read the original.