Mumak: Efficient and Black-Box Bug Detection for Persistent Memory
João Gonçalves, Miguel Matos, Rodrigo Rodrigues
Abstract
The advent of Persistent Memory (PM) opens the door to novel application designs that explore its performance and durability benefits. However, there is no free lunch, and to program PM applications, developers need to be aware of potential inconsistent application state upon machine or application crashes. To overcome this difficulty, several tools have been proposed to detect the presence of the so-called crash-consistency bugs. While these are effective in detecting a variety of bugs, they present several key limitations, namely relying on application-specific semantics, requiring the programmer to manually annotate the program or modify the PM library, and relying on techniques with poor scalability, making them impractical for production code.
In this paper, we introduce Mumak, a tool that detects bugs in PM applications in an efficient and black-box manner. Our key insight to reduce the search space is to use a two-pronged approach with a first pass that is highly efficient by focusing only on key, error-prone code points without exhaustively testing all possible persistence orderings, and a second pass based on heuristics that try to compensate the shortcomings of the initial approach. Furthermore, we avoid application-specific knowledge or annotations by relying on the application's own recovery procedure as an (imperfect) consistency oracle. Our experimental results, with different applications and libraries, show that Mumak has bug coverage on par with the other state-of-the-art tools, while being up to 25× faster. We also found four new crash-consistency bugs, two in PMDK and two in Montage, three of which have already been acknowledged and fixed by the developers.
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 224c34ce-d50b-4156-a3a2-b3b4e92c79d1Cited by top-tier papers4
- PoWER Never Corrupts: Tool-Agnostic Verification of Crash Consistency and Corruption DetectionHayley LeBlanc, Jacob R. Lorch, Chris Hawblitzel, Cheng Huang et al.OSDI 2025 · 5 citations
- Pre-Stores: Proactive Software-guided Movement of Data Down the Memory HierarchyXiaoxiang Wu, Baptiste Lepers, Willy ZwaenepoelEuroSys 2025 · 1 citation
- Discovering Likely Program Invariants for Persistent MemoryZunchen Huang, Srivatsan Ravi, Chao WangASE 2024 · 1 citation
- HawkSet: Automatic, Application-Agnostic, and Efficient Concurrent PM Bug DetectionJoão Oliveira, João Gonçalves, Miguel MatosEuroSys 2025
Builds on18
- HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVMAmanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez et al.SOSP 2021 · 93 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
- ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent MemoryRuibin Li, Xiang Ren, Xu Zhao, Siwei He et al.FAST 2022 · 43 citations
- AGAMOTTO: How Persistent is your Persistent Memory Application?Ian Neal, Ben Reeves, Ben Stoler, Andrew Quinn et al.OSDI 2020 · 43 citations
Related papers
- Efficiently detecting concurrency bugs in persistent memory programsZhangyu Chen, Yu Hua, Yongle Zhang, Luochangqi DingASPLOS 2022 · 11 citations
- Fast, flexible, and comprehensive bug detection for persistent memory programsBang Di, Jiawen Liu, Hao Chen, Dong LiASPLOS 2021 · 37 citations
- PMFuzz: test case generation for persistent memory programsSihang Liu, Suyash Mahar, Baishakhi Ray, Samira Manabi KhanASPLOS 2021 · 36 citations
- Silhouette: Leveraging Consistency Mechanisms to Detect Bugs in Persistent Memory-Based File SystemsBing Jiao, Ashvin Goel, An-I Andy WangFAST 2025 · 2 citations
- Constraint Based Program Repair for Persistent Memory BugsZunchen Huang, Chao WangICSE 2024 · 3 citations
