Deriving Semantic Checkers from Tests to Detect Silent Failures in Production Distributed Systems
Chang Lou, Dimas Shidqi Parikesit, Yujin Huang, Zhewen Yang, Senapati Diwangkara, Yuzhuo Jing, Achmad Imam Kistijantoro, Ding Yuan, Suman Nath, Peng Huang
摘要
Production distributed systems provide rich features, but various defects can cause a system to silently violate its semantics without explicit errors. Such failures cause serious consequences. Yet, they are extremely challenging to detect, as it requires deep domain knowledge and substantial manual efforts to write good checkers.
In this paper, we explore a novel approach that directly derives semantic checkers from system test code. We first present a large-scale study on existing system test cases. Guided by the study findings, we develop T2C, a framework that uses static and dynamic analysis to transform and generalize a test into a runtime checker. We apply T2C on four large, popular distributed systems and successfully derive tens to hundreds of checkers. These checkers detect 15 out of 20 real-world silent failures we reproduce and incur small runtime overhead. 1 public void testSessionTimeout() 2 DisconnectableZooKeeper zk = createClient(TIMEOUT); 3 zk.create("/stest", new byte[0], OPEN_ACL, EPHEMERAL); 4 zk.close(); 5 zk.disconnect(); 6 zk = createClient(TIMEOUT); 7 Assert.assertTrue(zk.exists("/stest",false) != null); 8 Thread.sleep(TIMEOUT*2); 9 Assert.assertTrue(zk.exists("/stest",false) == null); 10 zk.close(); 11
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Who Watches the Watchers? On the Reliability of Softwarizing Cloud Application ManagementJiawei Tyler Gu, Zhen Tang, Yiming Su, Bogdan Alexandru Stoica 等NSDI 2026 · 被引用 3 次
- kSTEP: Characterization and Deterministic Testing of Linux CPU Scheduler BugsTingjia Cao, Shawn (Wanxiang) Zhong, Caeden Whitaker, Ke Han 等OSDI 2026 · 被引用 1 次
- KNighter: Transforming Static Analysis with LLM-Synthesized CheckersChenyuan Yang, Zijie Zhao, Zichen Xie, Haoyu Li 等SOSP 2025 · 被引用 1 次
- RobustRL: Role-Based Fault Tolerance System for RL Post-TrainingZhenqian Chen, Baoquan Zhong, Xiang Li, Qing Dai 等OSDI 2026
- KUBEDIRECT: Unleashing the Full Power of the Cluster Manager for Serverless ComputingSheng Qi, Zhiquan Zhang, Xuanzhe Liu, Xin JinNSDI 2026
它引用的顶会 Paper26
- Projection-based runtime assertions for testing and debugging Quantum programsGushu Li, Li Zhou, Nengkun Yu, Yufei Ding 等OOPSLA 2020 · 被引用 120 次
- Understanding, Detecting and Localizing Partial Failures in Large System SoftwareChang Lou, Peng Huang, Scott SmithNSDI 2020 · 被引用 88 次
- DistAI: Data-Driven Automated Invariant Learning for Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason Nieh 等OSDI 2021 · 被引用 76 次
- The Use of Likely Invariants as Feedback for FuzzersAndrea Fioraldi, Daniele Cono D'Elia, Davide BalzarottiUSENIX Security 2021 · 被引用 67 次
- Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3James Bornholt, Rajeev Joshi, Vytautas Astrauskas, Brendan Cully 等SOSP 2021 · 被引用 63 次
相关 Paper
- Demystifying and Checking Silent Semantic Violations in Large Distributed SystemsChang Lou, Yuzhuo Jing, Peng HuangOSDI 2022 · 被引用 8 次
- Understanding and Detecting Software Upgrade Failures in Distributed SystemsYongle Zhang, Junwen Yang, Zhuqi Jin, Utsav Sethi 等SOSP 2021 · 被引用 40 次
- Testing consensus implementations using communication closureCezara Dragoi, Constantin Enea, Burcu Kulahcioglu Ozkan, Rupak Majumdar 等OOPSLA 2020 · 被引用 13 次
- Model Checking Guided Testing for Distributed SystemsDong Wang, Wensheng Dou, Yu Gao, Chenao Wu 等EuroSys 2023 · 被引用 21 次
- Testing Configuration Changes in Context to Prevent Production FailuresXudong Sun, Runxiang Cheng, Jianyan Chen, Elaine Ang 等OSDI 2020 · 被引用 61 次
