Verification · Formal · Concurrency model checking
Exhaustive interleaving
Enumerate all interleavings of a small test (loom).
How to build it
- Write a two- or three-thread test that uses loom primitives in place of std ones.
- Wrap the test body in loom::model so every interleaving is explored.
- Run the loom tests in a dedicated CI job with the cfg flag set.
Signals in a repository
- A --cfg loom flag in RUSTFLAGS in CI configuration or a Makefile.
- Tests that call loom::model around a small concurrent data structure.
In practice
1 repository runs a tool for this check in the scanned set.
loom· 1 repos
Examples
-
tokio-rs/tokio ·
loomloom via environment