Verifies Rust programs by converting basic blocks in the MIR representation of the code into Constrained Horn Clauses (CHCs) that are then verified using Horn clause support in Z3 or HoIce.
The conversion reminds me of Electrolysis (that translates Rust to Lean functions) while the use of Horn clauses reminds me of SeaHorn (that translates LLVM IR to Horn clauses).
The implementation is here.
Papers related to RustHorn: CHC-based verification for Rust programs
- Simple verification of Rust programs via functional purification [ullrich:msc:2016]