/secdev18-saw

Slides and examples for the Continuous Verification tutorial at IEEE SecDev 2018

Primary LanguageC

Build Status

This repository contains slides and examples for the 2018 IEEE SecDev tutorial entitled "Continuous Verification of Critical Software". We hope participants will use it to follow along with the tutorial, but also that it might be a self-contained collection of material for people unable to attend the tutorial.

The slides used to give the tutorial are available here

The examples and exercises from the slides can be found in the examples directory, the salsa20 directory, and the Travis configuration for this repository.

To run the examples, you'll need several things: the Clang compiler, the Software Analysis Workbench (SAW), the Yices SMT solver, and the Z3 SMT solver. To install those tools individually:

Alternatively, we've prepared a Docker image containing all of the above (as well as Emacs and Vim to allow you to try out various changes to the examples). You can get this image by running:

docker pull atomb/secdev18-saw
docker run --rm -it atomb/secdev18-saw

The --rm flag above tells Docker to remove the temporary intermediate image it would normally create to store any changes you make during your session. To keep those changes, leave out the flag and then give the temporary image a useful name.