一句话:提出 PMFuzz,为持久内存程序生成能触达崩溃一致性相关路径的测试用例,以提升崩溃一致性缺陷的检测效果。
持久内存兼具存储的持久性与接近 DRAM 的性能,但使用它的程序必须保证故障(如断电)后数据仍可恢复,因此容易出现崩溃一致性缺陷。已有工具(Pmemcheck、PMTest、XFDetector)通过检查 PM 访问轨迹是否违反程序的崩溃一致性保证来检测这类缺陷,然而检测效果高度依赖测试用例:只有执行到存在缺陷的程序路径,缺陷才可能被暴露。为此,本文提出 PMFuzz,一个面向持久内存程序的测试用例生成器,旨在为上述检测工具提供覆盖更充分的测试输入,从而更有效地发现崩溃一致性缺陷。摘要着重论证了测试用例生成对崩溃一致性缺陷检测的必要性,但未具体说明其生成策略与量化评估结果。
The Persistent Memory (PM) technology combines the persistence of storage with the performance approaching that of DRAM. Programs taking advantage of PM must ensure data remains recoverable after a failure (e.g., power outage), and therefore, are susceptible to having crash consistency bugs that lead to incorrect recovery after a failure. Prior works have provided tools, such as Pmemcheck, PMTest, and XFDetector, that detect these bugs by checking whether the trace of PM accesses violates the program’s crash consistency guarantees. However, detection of crash consistency bugs highly depends on test cases—a bug can only be detected if the buggy program path has been executed. Therefore, using a test case generator is necessary to effectively detect crash consistency bugs.
DOI 原文 ·
@inproceedings{paperbot6107,
title = {PMFuzz: test case generation for persistent memory programs},
author = {Sihang Liu and Suyash Mahar and Baishakhi Ray and Samira Khan},
booktitle = {ASPLOS},
year = {2021},
doi = {10.1145/3445814.3446691}
}