Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM
summary
Fray is a JVM concurrency testing platform that orchestrates thread interleavings without replacing primitives using shadow locking, enabling deterministic, push‑button controlled concurrency for real Java projects. It runs search strategies from random walk to PCT, POS, SURW and evaluates on 53 buggy benchmarks where Fray with random walk finds 70% more bugs than JPF and 77% more than RR chaos mode. It also uncovers 18 real bugs across 2,664 tests that make 371 tests fail and ships as open source on Gradle/Maven.
AI-written summary · about
chapters (8)
- 0:00Fray for JVM concurrency
- 1:05Concurrency bugs beyond races
- 3:36Requirements for testing
- 5:23Stop signs for thread control
- 7:09Shadow locks for control
- 8:13Evaluating Fray on software
- 9:56Open-source release
- 10:18Q&A
related talks
40mCatching More Bugs with Fewer False Alarms
50mFlavors of Concurrency in Java
45mHow we test concurrent algorithms in Kotlin Coroutines
01h 13mBack from the 70s — the Concurnas concurrency model!
56mFlavors of Concurrency in Java
15mFuzzing Channel-Based Concurrency Runtimes using Types and Effects
57mButcher Virtual Threads like a pro!
26mDifferential Testing with Foundry
