Hi HN,
I’m excited to share Fray, a controlled concurrency testing framework for the JVM. Fray systematically explores different thread interleavings in your concurrency tests, helping to uncover tricky race conditions. It can also deterministically reproduce concurrency-related failures, making debugging significantly easier.
For a deep dive into how Fray is designed, check out our technical report: https://arxiv.org/abs/2501.12618
The Lucene team recently wrote about how Fray helped them diagnose and fix a challenging concurrency bug: https://www.elastic.co/search-labs/blog/optimistic-concurren...
Would love to hear your thoughts and feedback!