Concurrency model checking
Explores thread interleavings systematically to find races and orderings that fail only rarely.
V1029 technique
1 of 256 scanned repositories run it (0%)
Sub-techniques
2
| ID | Name | Description |
|---|---|---|
V1029.001 | Exhaustive interleaving | Enumerate all interleavings of a small test (loom). |
V1029.002 | Randomized scheduling | Sample schedules with a controlled scheduler (shuttle). |
Craft it
- Isolate the concurrent primitive behind an interface the checker can swap.
- Write small tests with two or three threads.
- Run them in a dedicated CI job with the checker's cfg flag.
Reverse engineer it
Signs that a codebase already runs this technique, and where to read how it is configured.
- --cfg loom in RUSTFLAGS or loom::model in tests.
- ThreadSanitizer builds in CI.
Where the scanned repositories configure it:
.github/workflows/*.ymlin 1 repositories
Detected by the scanner as: Concurrency model checking (races and orderings that fail only under specific interleavings.)
Open-source packages
3
- loom tokio-rs/loom
- Shuttle awslabs/shuttle
- Sanitizers (ASan, TSan, UBSan) google/sanitizers
Tools seen in scans
by repositories that run them
| Tool | Repos | Command seen | Runs in | Docs |
|---|---|---|---|---|
loom |
1 | via loom via environment | ci | docs |
Procedure examples
repositories that run it, most-starred first
| Repository | Tools | Runs in | Evidence |
|---|---|---|---|
| tokio-rs/tokio | loom |
ci | .github/workflows/ci.yml jobs.loom-compile.steps[3] (build --cfg loom) |