Vinter: Automatic Non-Volatile Memory Crash Consistency Testing for Full Systems
Samuel Kalbfleisch, Lukas Werling, Frank Bellosa
Abstract
Non-volatile memory (NVM) is a new byte-addressable storage technology that is part of the processor's memory hierarchy. NVM is often exposed to applications via an in-kernel file system. To prevent data loss in the case of crashes, the file system implementation needs to be crash-consistent. Achieving crash consistency is difficult however, as special primitives need to be inserted at appropriate places in the program to ensure persistency in the presence of volatile caches.
We introduce VINTER, a new approach to automated NVM crash consistency testing designed for full systems, including unmodified kernel software such as file systems. By tracing NVM accesses of a full system via dynamic binary translation, we capture interactions between user and kernel space code. With such traces, our system efficiently generates relevant crash states using a heuristic that determines NVM locations significant for crash consistency. Finally, it extracts the semantic representation of each crash state. This makes the automatic detection of operation-spanning violations of crash consistency properties such as atomicity feasible. Our approach further aids in fixing detected bugs by representing how bugs originate from simulated crashes which are annotated by trace metadata.
Our evaluation on NVM file systems uncovers several previously unknown bugs, including bugs in the state-of-the-art file systems NOVA and NOVA-Fortis that lead to atomicity violations and data loss.
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 a04f3998-2e1e-4f17-85c1-a221530fabdaCited by top-tier papers3
- Chipmunk: Investigating Crash-Consistency in Persistent-Memory File SystemsHayley LeBlanc, Shankara Pailoor, Om Saran K. R. E., Isil Dillig et al.EuroSys 2023 · 11 citations
- Mumak: Efficient and Black-Box Bug Detection for Persistent MemoryJoão Gonçalves, Miguel Matos, Rodrigo RodriguesEuroSys 2023 · 5 citations
- UpFuzz: Detecting Data Format Incompatibility Bugs during Distributed Storage System UpgradeKe Han, P. C. Sruthi, Yayu Wang, Yaoxu Song et al.NSDI 2026 · 3 citations
Builds on13
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz et al.FAST 2020 · 470 citations
- FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent MemoryYoumin Chen, Youyou Lu, Fan Yang, Qing Wang et al.ASPLOS 2020 · 166 citations
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 61 citations
- Cross-Failure Bug Detection in Persistent Memory ProgramsSihang Liu, Korakit Seemakhupt, Yizhou Wei, Thomas F. Wenisch et al.ASPLOS 2020 · 60 citations
- Twizzler: a Data-Centric OS for Non-Volatile MemoryDaniel Bittman, Peter Alvaro, Pankaj Mehra, Darrell D. E. Long et al.USENIX ATC 2020 · 50 citations
Related papers
- Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value StoresXinwei Fu, Wook-Hee Kim, Ajay Paddayuru Shreepathi, Mohannad Ismail et al.SOSP 2021 · 17 citations
- Crash Consistency in Block-Level Caching Systems: An Open CAS Case StudyShaohua Duan, Youmin ChenUSENIX ATC 2025 · 1 citation
- Robustness Verification for Checking Crash Consistency of Non-volatile MemoryZhilei Han, Fei HeASPLOS 2025 · 1 citation
- Silhouette: Leveraging Consistency Mechanisms to Detect Bugs in Persistent Memory-Based File SystemsBing Jiao, Ashvin Goel, An-I Andy WangFAST 2025 · 2 citations
- Libnvmmio: Reconstructing Software IO Path with Failure-Atomic Memory-Mapped InterfaceJungsik Choi, Jaewan Hong, Youngjin Kwon, Hwansoo HanUSENIX ATC 2020 · 36 citations
