PoWER Never Corrupts: Tool-Agnostic Verification of Crash Consistency and Corruption Detection
Hayley LeBlanc, Jacob R. Lorch, Chris Hawblitzel, Cheng Huang, Yiheng Tao, Nickolai Zeldovich, Vijay Chidambaram
摘要
Storage systems must maintain integrity even after rare and difficult-to-test-for conditions like power losses and media errors. Formal verification presents a promising avenue to ensure storage systems are resilient, but current approaches involve significant complexity and rely on verification constructs or forms of logic beyond what most verifiers natively support. In this paper, we present two new verification techniques that rely only on standard constructs provided by most verification tools such as Hoare logic, ghost variables, and quantifiers. First, we introduce PoWER (Preconditions on Writes Enforcing Recoverability), a novel approach to verifying crash consistency that encodes its requirements in the preconditions of storage API methods. Second, we present a new model of media corruption for provable corruption detection on any type of storage device. To demonstrate the power of these new techniques, we use them to build two verified storage systems using two different verification frameworks. We build and verify the key-value (KV) store CAPYBARAKV using Verus and the notary server CAPYBARANS using Dafny. Both systems are built for persistent memory (PM), which we target due to new challenges it presents to building resilient storage systems. We develop new techniques to address these challenges, including the corruption-detecting Boolean, a new primitive for atomic checksum updates. Both systems verify in under a minute, and CAPYBARAKV achieves performance competitive with similar unverified PM KV stores.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- AutoVerus: Automated Proof Generation for Rust CodeChenyuan Yang, Xuheng Li, Md Rakib Hossain Misu, Jianan Yao 等OOPSLA 2025 · 被引用 11 次
- AutoMan: Facilitating Verified Distributed Systems Development Through Automatic Code Generation and Manual OptimizationsZihao Zhang, Ti Zhou, Christa Jenkins, Omar Chowdhury 等SOSP 2025 · 被引用 2 次
- VerusBelt: A Semantic Foundation for Verus's Proof-Oriented Extensions to the Rust Type SystemTravis Hance, Laila Elbeheiry, Yusuke Matsushita, Derek DreyerPLDI 2026
它引用的顶会 Paper16
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz 等FAST 2020 · 被引用 470 次
- Viper: An Efficient Hybrid PMem-DRAM Key-Value StoreLawrence Benson, Hendrik Makait, Tilmann RablVLDB 2021 · 被引用 86 次
- The future is ours: prophecy variables in separation logicRalf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport 等POPL 2020 · 被引用 62 次
- Cross-Failure Bug Detection in Persistent Memory ProgramsSihang Liu, Korakit Seemakhupt, Yizhou Wei, Thomas F. Wenisch 等ASPLOS 2020 · 被引用 60 次
- Storage Systems are Distributed Systems (So Verify Them That Way!)Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell 等OSDI 2020 · 被引用 52 次
相关 Paper
- Discovering Likely Program Invariants for Persistent MemoryZunchen Huang, Srivatsan Ravi, Chao WangASE 2024 · 被引用 1 次
- FastVer: Making Data Integrity a CommodityArvind Arasu, Badrish Chandramouli, Johannes Gehrke, Esha Ghosh 等SIGMOD 2021 · 被引用 15 次
- Jaaru: efficiently model checking persistent memory programsHamed Gorjiara, Guoqing Harry Xu, Brian DemskyASPLOS 2021 · 被引用 34 次
- Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value StoresXinwei Fu, Wook-Hee Kim, Ajay Paddayuru Shreepathi, Mohannad Ismail 等SOSP 2021 · 被引用 17 次
- Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent MemorySimon Friis Vindum, Lars BirkedalOOPSLA 2023 · 被引用 6 次
