Seventy Years of Parsing: Theoretical and Practical Consequences
Summary
The article presents Kani, an open-source model checker for Rust that extends bounded model checking to guarantee safety and correctness for unsafe operations, functional correctness, and absence of runtime panics. It compiles harnesses from Rust MIR into CBMC's verification engine, includes a configurable specification language (contracts, loop contracts, quantifiers, stubs), and demonstrates industrial-scale use in CI, discovering previously unknown bugs.