POS (Partial-Order Sampling). On every step, with probability
:resample_prob, re-randomize the priorities of all currently-ready
processes; otherwise keep the current priorities. Then run the
highest-priority enabled process.
Conceptually a "noisy PCT": where PCT only demotes priorities at
d - 1 precommitted change points, POS continually shuffles. The Fray
paper (Yuan et al., OOPSLA 2025, https://arxiv.org/abs/2501.12618)
reports POS finding bugs across Kafka, Lucene, and Guava in fewer
iterations than PCT for many real-world races.
Options
:seed-- RNG seed (required):resample_prob-- probability of resampling priorities at each step. Default0.5. The Fray paper finds 0.5 a sensible default across workloads.
No :max_steps or bug-depth precommitment, unlike PCT.