eXplode: A Lightweight, General Approach for Finding Serious Errors in Storage Systems

Proceedings of the first Workshop on the Evaluation of Software Defect Detection Tools (BUGS ’05), June, 2005

Abstract

File systems, RAID systems, and applications that care about data consistency, among others, assure data integrity by carefully forcing valuable data to stable storage. Unfortunately, verifying that a system recovers from a crash to a valid state at any program counter is very difficult. Previous techniques for finding data integrity bugs have been heavyweight, requiring extensive effort for each OS and file system to be checked. We demonstrate a lightweight, flexible, easy-to-apply technique by developing a tool called eXplode and show how we used it to find 25 serious bugs in eight Linux file systems, Linux software RAID 5, Linux NFS, and three version control systems.