Model Checking Guided Testing for Distributed Systems
Dong Wang, Wensheng Dou, Yu Gao, Chenao Wu, Jun Wei, Tao Huang
Abstract
Distributed systems have become the backbone of cloud computing. Incorrect system designs and implementations can greatly impair the reliability of distributed systems. Although a distributed system design modelled in the formal specification can be verified by formal model checking, it is still challenging to figure out whether its corresponding implementation conforms to the verified specification. An incorrect system implementation can violate its verified specification, and causes intricate bugs.
In this paper, we propose a novel distributed system testing technique, Model checking guided testing (Mocket), to fill the gap between the specification and its implementation in a distributed system. Specially, we use the state space generated by formal model checking to guide the testing for the system implementation, and unearth bugs in the target distributed system. To evaluate the feasibility and effectiveness of Mocket, we apply Mocket on three popular distributed systems, and find 3 previously unknown bugs in them.
• Software and its engineering → Software testing and debugging; Model checking.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ab3b2443-0ef5-4511-9fcc-e369da70b0e4Cited by top-tier papers15
- Smart Casual Verification of the Confidential Consortium FrameworkHeidi Howard, Markus A. Kuppe, Edward Ashton, Amaury Chamayou et al.NSDI 2025 · 13 citations
- SandTable: Scalable Distributed System Model Checking with Specification-Level State ExplorationRuize Tang, Xudong Sun, Yu Huang, Yuyang Wei et al.EuroSys 2024 · 8 citations
- An Empirical Study on Kubernetes Operator BugsQingxin Xu, Yu Gao, Jun WeiISSTA 2024 · 7 citations
- Metis: File System Model Checking via Versatile Input and State ExplorationYifei Liu, Manish Adkar, Gerard J. Holzmann, Geoff Kuenning et al.FAST 2024 · 6 citations
- Runtime Protocol Refinement Checking for Distributed Protocol ImplementationsDing Ding, Zhanghan Wang, Jinyang Li, Aurojit PandaNSDI 2025 · 6 citations
Builds on11
- Understanding, Detecting and Localizing Partial Failures in Large System SoftwareChang Lou, Peng Huang, Scott SmithNSDI 2020 · 88 citations
- Understanding and Detecting Software Upgrade Failures in Distributed SystemsYongle Zhang, Junwen Yang, Zhuqi Jin, Utsav Sethi et al.SOSP 2021 · 40 citations
- Effective Concurrency Testing for Distributed SystemsXinhao Yuan, Junfeng YangASPLOS 2020 · 30 citations
- FlowDist: Multi-Staged Refinement-Based Dynamic Information Flow Analysis for Distributed Software SystemsXiaoqin Fu, Haipeng CaiUSENIX Security 2021 · 26 citations
- CoFI: Consistency-Guided Fault Injection for Cloud SystemsHaicheng Chen, Wensheng Dou, Dong Wang, Feng QinASE 2020 · 25 citations
Related papers
- Model Checking Guided Incremental Testing for Distributed SystemsYu Gao, Dong Wang, Wensheng Dou, Wenhan Feng et al.ISSTA 2025 · 1 citation
- Model-Guided Fuzzing of Distributed SystemsEge Berkay Gulcan, Burcu Kulahcioglu Ozkan, Rupak Majumdar, Srinidhi NagendraOOPSLA 2025 · 3 citations
- Feedback-guided Adaptive Testing of Distributed Systems DesignsAo Li, Ankush Desai, Rohan PadhyeNSDI 2026 · 2 citations
- Blackbox Fuzzing of Distributed Systems with Multi-Dimensional Inputs and Symmetry-Based Feedback PruningYonghao Zou, Jia-Ju Bai, Zu-Ming Jiang, Ming Zhao et al.NDSS 2025
- CAFault: Enhance Fault Injection Technique in Practical Distributed Systems via Abundant Fault-Dependent ConfigurationsYuanliang Chen, Fuchen Ma, Yuanhang Zhou, Zhen Yan et al.USENIX ATC 2025 · 7 citations
