Kani пытается формально доказать корректность Rust-кода математически.
Что умеет:
* доказывать отсутствие panic, overflow и нарушений memory safety
* проверять, что `unsafe`-код действительно безопасен
* гонять 16 000+ harness’ов на каждый commit в Rust standard library
* находить баги, которые раньше не видели в промышленных Rust-проектах
Главное отличие простое:
fuzzing пытается найти баги через множество входных данных.
Kani проверяет свойства кода формально, в рамках заданного harness’а.
Kani интегрирован в CI стандартной библиотеки Rust.
Каждый commit в
std проходит формальную проверку.🔗 arxiv.org/abs/2607.01504
