Understanding and detecting deep memory persistency bugs in NVM programs with DeepMC
Benjamin Reidys, Jian Huang
摘要
To facilitate programming with non-volatile memory (NVM), a set of memory persistency models, such as strict and epoch persistency, have been proposed. Although these models provide high-level guidance for reasoning about the data persistence, implementing them correctly is nontrivial. Our study of the well-developed NVM frameworks and libraries reveals that many of them have deep semantic bugs that are strongly relevant to the model specifications. Furthermore, it is difficult to detect them with existing testing and bug-finding tools.
To further understand these persistency bugs, we conduct a characterization study, and present a taxonomy of these persistency bugs. We find that many persistency bugs are caused by the semantic mismatches between the model specifications and their real implementation in NVM programs. To identify these deep persistency bugs, we build a toolkit named DeepMC with both static and dynamic analysis. DeepMC is driven by a set of rules based on our characterization study and persistency model specifications. Our results show that DeepMC can efficiently pinpoint various persistency bugs in a variety of NVM programming frameworks/libraries, and their example programs, including PMDK and persistent memory file system (PMFS) from Intel, the NVM-Direct library from Oracle, and Mnemosyne framework from academia.
• Hardware → Memory and dense storage; • Software and its engineering → Software maintenance tools.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- Mumak: Efficient and Black-Box Bug Detection for Persistent MemoryJoão Gonçalves, Miguel Matos, Rodrigo RodriguesEuroSys 2023 · 被引用 5 次
- Constraint Based Program Repair for Persistent Memory BugsZunchen Huang, Chao WangICSE 2024 · 被引用 3 次
- Discovering Likely Program Invariants for Persistent MemoryZunchen Huang, Srivatsan Ravi, Chao WangASE 2024 · 被引用 1 次
它引用的顶会 Paper7
- Cross-Failure Bug Detection in Persistent Memory ProgramsSihang Liu, Korakit Seemakhupt, Yizhou Wei, Thomas F. Wenisch 等ASPLOS 2020 · 被引用 60 次
- AGAMOTTO: How Persistent is your Persistent Memory Application?Ian Neal, Ben Reeves, Ben Stoler, Andrew Quinn 等OSDI 2020 · 被引用 43 次
- Fast, flexible, and comprehensive bug detection for persistent memory programsBang Di, Jiawen Liu, Hao Chen, Dong LiASPLOS 2021 · 被引用 37 次
- PMFuzz: test case generation for persistent memory programsSihang Liu, Suyash Mahar, Baishakhi Ray, Samira Manabi KhanASPLOS 2021 · 被引用 36 次
- Jaaru: efficiently model checking persistent memory programsHamed Gorjiara, Guoqing Harry Xu, Brian DemskyASPLOS 2021 · 被引用 34 次
相关 Paper
- Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value StoresXinwei Fu, Wook-Hee Kim, Ajay Paddayuru Shreepathi, Mohannad Ismail 等SOSP 2021 · 被引用 17 次
- Checking robustness to weak persistency modelsHamed Gorjiara, Weiyu Luo, Alex Lee, Guoqing Harry Xu 等PLDI 2022 · 被引用 13 次
- Chipmunk: Investigating Crash-Consistency in Persistent-Memory File SystemsHayley LeBlanc, Shankara Pailoor, Om Saran K. R. E., Isil Dillig 等EuroSys 2023 · 被引用 11 次
- Efficiently detecting concurrency bugs in persistent memory programsZhangyu Chen, Yu Hua, Yongle Zhang, Luochangqi DingASPLOS 2022 · 被引用 11 次
- TENET: Memory Safe and Fault Tolerant Persistent Transactional MemoryMadhava Krishnan Ramanathan, Diyu Zhou, Wook-Hee Kim, Sudarsun Kannan 等FAST 2023 · 被引用 12 次
