Rust Verification with SAW

This tutorial introduces SAW’s Rust/MIR verification capabilities. After completing this tutorial, you will be able to:

  • Use saw-rustc and cargo-saw-build to extract SAW-ready MIR from Rust

  • Use SAW’s MIR capabilities to verify code that utilizes references and compound data types (i.e. structs and enums)

  • Write proofs compositionally, even when the subtleties of mutable references are involved

  • Verify code that utilizes static items

Additionally, you will step through the process of verifying an implementation of the Salsa20 stream cipher against a Cryptol reference specification, showing how SAW’s MIR capabilities may be used on a more realistic codebase.

You can download the tutorial files.