Whoop is a SMACK-based symbolic data race analyzer for Linux device drivers.
- Clone this project.
- Compile using Visual Studio or Mono.
We also have vagrant support for building a virtual machine with the toolchain installed. To do this use the following from the project's root directory:
vagrant up
The input to Whoop is a Linux driver. To use Whoop do the following:
.\whoop.py ${DRIVER}.c
To use Corral for precise bug-finding do the following:
.\whoop.py ${DRIVER}.c --find-bugs --yield-race-check
Use --verbose for verbose mode. Use --time for timing information.
- Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers. Pantazis Deligiannis, Alastair F. Donaldson, Zvonimir Rakamarić. In the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2015.