kani icon indicating copy to clipboard operation
kani copied to clipboard

Add an option to turn contract clauses into assertions

Open celinval opened this issue 1 year ago • 1 comments

Requested feature: Enable contract checking without stubbing. Use case: Be able to detect if a function violate the contract of any of its dependencies. This can be very helpful for debbuging verification failures due to API misuse. This is especially important for functions that are only be annotated with safety contract, and for those that are not eligible for stubbing. Link to relevant documentation (Rust reference, Nomicon, RFC):

celinval avatar Jul 04 '24 18:07 celinval

Actually, should we just insert contracts clauses as assertions so they can be used with playback? When #[cfg(not(kani))] we already ignore the contract.

celinval avatar Jul 26 '24 23:07 celinval

Branch with progress so far: https://github.com/jaisnan/kani/tree/turn-clause-to-contract

jaisnan avatar Nov 08 '24 20:11 jaisnan