eXplode is a storage system checker. It comes with a generic model
checker for code (mcl/), which you can use to check other systems as well
(not just storage systems). Model checking is a heavyweight formal
verification technique. eXplode adapts the core idea from Model Checking,
exploring all choices, to comprehensively check a storage system.
Meanwhile, it has a new checking architecture that checks a system
in-situ, in its native environment, thus makes it really easy to check new
systems. Most of the other code in eXplode checks storage system crashes
and recoveries. eXplode will not simply check random crashes that merely
occur; it will systematically generate *possible* crashes by permuting
modified disk blocks in the buffer cache.
Quick Start
-
Get the eXplode virtual machine (VM) image
from here, and start it
with VMware
Player.
- In the GRUB boot menu, select "Ubuntu 8.04.1, kernel 2.6.24.3."
Use username "explode" and password "#explode" to log in. The eXplode
source tree is in ~/explode. For the tree structure, refer to the
Directory Structure in README.student.
- To check a file system, go to directory "~/explode/check," and run
"./check-fs." All checkers are in directory "~/explode/check." You
can also check cvs by running "./check-cvs."
- To check a different file system, change fs::type and rdd::sectors
in ~/explode/explode.options; this file stores user options. For all
options eXplode supports, check out explode.default.options in the same
directory.
More Information
After you log into the virtual machine, check out "~/explode/README.student."