MET: Model Checking-Driven Explorative Testing of CRDT Designs and Implementations
Yuqi Zhang, Yu Huang, Hengfeng Wei, Xiaoxing Ma

TL;DR
This paper introduces MET, a framework combining formal model checking and explorative testing to improve the correctness and bug detection in CRDT designs and implementations for distributed systems.
Contribution
The paper presents a novel MET framework that integrates TLA+ model checking with automated test case generation for CRDTs, enhancing bug detection and correctness assurance.
Findings
MET finds deep bugs in CRDT designs and implementations.
MET reduces bug fixing costs compared to traditional testing.
MET uncovers subtle bugs that other techniques miss.
Abstract
Internet-scale distributed systems often replicate data at multiple geographic locations to provide low latency and high availability. The Conflict-free Replicated Data Type (CRDT) is a framework that provides a principled approach to maintaining eventual consistency among data replicas. CRDTs have been notoriously difficult to design and implement correctly. Subtle deep bugs lie in the complex and tedious handling of all possible cases of conflicting data updates. We argue that the CRDT design should be formally specified and model-checked to uncover deep bugs. The implementation further needs to be systematically tested. On the one hand, the testing needs to inherit the exhaustive nature of the model checking and ensures the coverage of testing. On the other hand, the testing is expected to find coding errors which cannot be detected by design level verification. Towards the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Software System Performance and Reliability · Service-Oriented Architecture and Web Services
