Skip to content

v1.1

Latest
Compare
Choose a tag to compare
@RyanGlScott RyanGlScott released this 06 Feb 11:37
· 18 commits to master since this release

New Features

  • SAW now supports loading and reasoning about Cryptol declarations that make use of numeric constraint guards. For more information on numeric constraint guards, see the relavent section of the Cryptol reference manual.

  • Add an experimental mir_verify command, along with related utilities for constructing specifications for MIR/Rust programs. For more information, see the mir_* commands documented in the SAW manual.

  • SAW now supports importing Cryptol modules containing foreign declarations. For more information, see the manual.

  • Building on the above feature, SAW now supports automatically generating LLVM setup scripts for Cryptol FFI functions with the llvm_ffi_setup command. For more information, see the manual.

  • Ghost state is now supported with the JVM and MIR language backends:

    • The llvm_declare_ghost_state command is now deprecated in favor of the new declare_ghost_state command, as nothing about this command is LLVM-specific.
    • Add jvm_ghost_value and mir_ghost_value commands in addition to the existing llvm_ghost_value command.
  • SAW now includes an experimental set_solver_cache_path command, which caches the results of tactics which call out to automated provers. This can save a considerable amount of time when repeatedly running proof scripts. For more information, see the manual.

  • Add experimental support for verifying hardware circuits via VHDL and Yosys. There is now a family of experimental yosys_* commands that support this. For more information, see the manual.

  • Extend llvm_verify_x86 in order to handle x86 functions that spill arguments to the stack.

Bug fixes