# tokio-rs/loom

Concurrency permutation testing tool for Rust.

Repository: https://github.com/tokio-rs/loom
Canonical: https://ross.abutalabs.com/products/loom
Language: Rust
License: MIT
License Family: permissive
Last push: 2026-02-20T20:40:49+00:00

## Health v2 (maintenance only)
Score: 54/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 68, release rhythm 10, longevity 100
- inputs: {"age_days": 2818, "days_push": 194, "days_rel": 386, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2802, forks 149 (observed 2026-08-28T04:07:22.665402+00:00)

## What it is
Loom is a testing tool for concurrent Rust code that exhaustively explores possible interleavings of concurrent executions under the C11 memory model. It uses state reduction techniques to avoid combinatorial explosion when enumerating execution permutations.

## Use cases
- test concurrent Rust code for race conditions
- verify lock-free data structures under all execution orderings
- detect memory ordering bugs in atomic operations
- exhaustively explore thread interleavings in unit tests
- validate synchronization primitives like atomics and mutexes

## When to choose
- you are writing lock-free or atomic-based Rust code and need to verify correctness under all interleavings
- you want to catch subtle memory-ordering bugs that stress tests miss
- you maintain concurrency primitives or synchronization libraries in Rust

## When to avoid
- your code relies heavily on SeqCst ordering, which Loom treats as weaker AcqRel and may produce false alarms
- your concurrent code uses async/await or features Loom does not model
- you need sound coverage of load-buffering behaviors, which Loom does not fully explore

## Facets
- artifact type: library
- maturity: active
- function: testing, concurrency
- domain: testing, developer-tools
- platform: rust, cli
- tags: concurrency-testing, memory-model, model-checking, permutation-testing, lock-free, atomics, algorithms

## Member repositories
- tokio-rs/loom (main) score 54

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:22.665402+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:14:33.159458+00:00, confidence not recorded.
  - readme: https://github.com/tokio-rs/loom (fetched 2026-08-28T04:07:22.665402+00:00, sha e230761817d5)
  - registry_crates: https://crates.io/api/v1/crates/loom (fetched 2026-08-29T09:54:29.220756+00:00, sha e4ef23805fef)
- Data as of 2026-08-30T08:39:29.467469+00:00.
