Rust model-checking

Open-source Rust projects categorized as model-checking

Top 3 Rust model-checking Projects

model-checking
  1. kani

    Kani Rust Verifier

    Project mention: Matt Godbolt sold me on Rust (by showing me C++) | news.ycombinator.com | 2025-05-06

    The point I'm sure was to prevent the checks from incurring runtime overhead in production. Even in release mode, the overflow will only wrap rather than trigger undefined behavior, so this won't cause memory corruption unless you are writing unsafe code that ignores the possibility of overflow.

    The checks being on in the debug config means your tests and replications of bug reports will catch overflow if they occur. If you are working on some sensitive application where you can't afford logic bugs from overflows but can afford panics/crashes, you can just turn on checks in release mode.

    If you are working on a library which is meant to do something sensible on overflow, you can use the wide variety of member functions such as 'wrapping_add' or 'checked_add' to control what happens on overflow regardless of build configuration.

    Finally, if your application can't afford to have logic bugs from overflows and also can't panic, you can use kani [0] to prove that overflow never happens.

    All in all, it seems to me like Rust supports a wide variety of use cases pretty nicely.

    [0]: https://github.com/model-checking/kani

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. cargo-check-deadlock

    Find deadlocks in Rust code with Petri net model checking

    Project mention: The Borrow Checker Within | news.ycombinator.com | 2024-06-14

    Thinking about this some more, that example has a mutex in a single thread program. If it's ever reached while locked, the program is stuck. This is a demonstration that the backlink problem and single-thread deadlock detection are equivalent.

    Work on compile time deadlock detection for Rust is underway.[1] It's complicated, but do-able.

    [1] https://github.com/hlisdero/cargo-check-deadlock

  4. lincheck

    A linearizability checker for concurrent data structures

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Rust model-checking discussion

Log in or Post with

Rust model-checking related posts

Index

What are some of the best open-source model-checking projects in Rust? This list will help you:

# Project Stars
1 kani 2,550
2 cargo-check-deadlock 28
3 lincheck 11

Sponsored
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com

Did you know that Rust is
the 5th most popular programming language
based on number of references?