Runtime Protocol Refinement Checking for Distributed Protocol Implementations
Ding Ding, Zhanghan Wang, Jinyang Li, Aurojit Panda
摘要
Despite significant progress in verifying protocols, services that implement distributed protocols (we refer to these as DPIs in what follows), e.g., Chubby or Etcd, can exhibit safety bugs in production deployments. These bugs are often introduced by programmers when converting protocol descriptions into code. This paper introduces Runtime Protocol Refinement Checking (RPRC), a runtime approach for detecting protocol implementation bugs in DPIs. RPRC systems observe a deployed DPI's runtime behavior and notify operators when this behavior evidences a protocol implementation bug, allowing operators to mitigate the bugs impact and developers to fix the bug. We have developed an algorithm for RPRC and implemented it in a system called Ellsberg that targets DPIs that assume fail-stop failures and the asynchronous (or partially synchronous) model. Our goal when designing Ellsberg was to make no assumptions about how DPIs are implemented,and to avoid additional coordination or communication. Therefore, Ellsberg builds on the observation that in the absence of Byzantine failures, a protocol safety properties are maintained if all live DPI processes correctly implement the protocol. Thus,Ellsberg checks RPRC by comparing messages sent and received by each DPI process to those produced by a simulated execution of the protocol. We apply Ellsberg to three open source DPIs, Etcd, Zookeeper and Redis Raft, and show that we can detect previously reported protocol bugs in these DPIs.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper16
- Understanding, Detecting and Localizing Partial Failures in Large System SoftwareChang Lou, Peng Huang, Scott SmithNSDI 2020 · 被引用 88 次
- Verus: Verifying Rust Programs using Linear Ghost TypesAndrea Lattuada, Travis Hance, Chanhee Cho, Matthias Brun 等OOPSLA 2023 · 被引用 86 次
- DistAI: Data-Driven Automated Invariant Learning for Distributed ProtocolsJianan Yao, Runzhou Tao, Ronghui Gu, Jason Nieh 等OSDI 2021 · 被引用 76 次
- Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3James Bornholt, Rajeev Joshi, Vytautas Astrauskas, Brendan Cully 等SOSP 2021 · 被引用 63 次
- Cobra: Making Transactional Key-Value Stores Verifiably SerializableCheng Tan, Changgeng Zhao, Shuai Mu, Michael WalfishOSDI 2020 · 被引用 61 次
相关 Paper
- PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data TypesJulian Haas, Ragnar Mogk, Annette Bieniusa, Mira MeziniOOPSLA 2026 · 被引用 1 次
- Testing consensus implementations using communication closureCezara Dragoi, Constantin Enea, Burcu Kulahcioglu Ozkan, Rupak Majumdar 等OOPSLA 2020 · 被引用 13 次
- When static verification is not enough: revealing BGP bugs at runtimePietro Ronchetti, Tibor Schneider, Laurent VanbeverSIGCOMM 2026
- Reward Augmentation in Reinforcement Learning for Testing Distributed SystemsAndrea Borgarelli, Constantin Enea, Rupak Majumdar, Srinidhi NagendraOOPSLA 2024 · 被引用 1 次
- Agora: Toward Autonomous Bug Detection in Production-Level Consensus Protocols with LLM AgentsXiang Liu, Sa Song, Zhaowei Zhang, Huiying Lan 等ICML 2026 · 被引用 1 次
