Hasty Briefsbeta

Bilingual

Kani: A Model Checker for Rust

5 hours ago
  • #Model Checking
  • #Rust Programming
  • #Software Verification
  • Kani is an open-source model checker for Rust that performs bounded model checking to verify safety properties and functional correctness.
  • It compiles Rust code from Mid-level Intermediate Representation (MIR) into CBMC's verification engine, automatically checking safety properties without user annotation.
  • Kani provides a specification language with features like function contracts, loop contracts, quantifiers, and function stubbing to extend verification from bounded to unbounded domains.
  • Case studies on industrial Rust projects demonstrate its feasibility, upgrading verification from panic-freedom to functional correctness and uncovering six previously unknown bugs.
  • It scales in production CI, with over 16,000 harnesses verified per code change in the Rust standard library verification campaign.