What problem does it solve?
This skill addresses the limitations of traditional testing by providing exhaustive, formal verification for Rust code, ensuring that functions are mathematically proven to be free of panics and logic errors.
Core Features & Use Cases
- Exhaustive Verification: Uses SAT solvers to check all possible input values rather than relying on random sampling.
- Compositional Proofs: Supports function contracts and stubbing to verify complex call chains efficiently.
- Use Case: Use this skill to verify critical cryptographic primitives, state machines, or complex parsing logic where edge cases are difficult to catch with standard unit tests.
Quick Start
Use the kani skill to audit the existing proof harnesses in the current directory and verify the core logic of the target module.