Is your program crash-safe?
C3 automatically checks a software for potential data loss. More details can be found in the paper. And more documents are pending to be added.
To use C3, you just need to provide a manuscript - how to do the initial setup and how to run the program. The rest is as easy as clicking a button. There are samples (validating gzip and emacs) in the
subjects directory. If you are intended to validate your own software (say it
xyz), create a directory
subjects/xyz, and put your
manuscript.y in it, then do the following:
If you have not started the c3disk driver yet, you should start it by the following command (root required):
xyzby the following command (also requires root):
> ./validate xyz
C3 either outputs "OK", or prints out an inconsistent crash site.
NOTE: The program contains in-kernel driver whose bug may lead to system crash. We suggest users try it in a virtual machine.
- Kernel: The c3disk driver requires a recent kernel (tested on 4.2). If you are using 3.x, there will be slight modification to the code.
- C libraries: libssl-dev (available in repository)
- Python libraries: pyautogui (depends on xlib, pil and tk)