viperproject / prusti-dev

A static verifier for Rust, based on the Viper verification infrastructure.
http://prusti.org
Other
1.55k stars 106 forks source link

Runtime checks #1452

Open cedihegi opened 1 year ago

cedihegi commented 1 year ago

The PR of my Master's thesis: Contract Checking at Runtime in a Rust Verifier.

Runtime checks:

How to use them (for now):

Some examples can be found in prusti-tests/tests/runtime_checks/.

Mir optimizations:

2 kinds of optimizations based on verification results:

To use: set variable PRUSTI_REMOVE_DEAD_CODE. Examples: prusti-tests/tests/mir_optimizations