Crash Consistency Validation Made Easy

Yanyan Jiang,Haicheng Chen,Feng Qin,Chang Xu,Xiaoxing Ma,Jian Lu
DOI: https://doi.org/10.1145/2950290.2950327
2016-01-01
Abstract:Software should behave correctly even in adverse conditions. Particularly, we study the problem of automated validation of crash consistency, i.e., file system data safety when systems crash. Existing work requires non-trivial manual efforts of specifying checking scripts and workloads, which is an obstacle for software developers. Therefore, we propose C-3 a novel approach that makes crash consistency validation as easy as pressing a single button. With a program and an input, C-3 automatically reports inconsistent crash sistes. C-3 not only exempts developers from the need of writing crash site checking scripts (by an algorithm that computes editing distance between file system snapshots) but also reduces the reliance on dedicated workloads (by test amplification). We implemented C-3 as an open-source software that have severe consequences at crash and 11 of them were previously unknown to the developers, including in highly mature software (e.g., GNU zip and GNU coreutils sort) and popular ones being actively developed (e.g., Adobe Brackets and TEXstudio).
What problem does this paper attempt to address?