Futexes are complex enough that make it a good candidate for applying fuzzy testing techniques to the various inputs and operations that can be performed. Instead of re-writing any testing infrastructure, make use of the trinity system call fuzzing tool. While trinity does apply fuzzing to futexes, it does so with very limited knowledge, using only generic callbacks to the different steps involved. As such the main goal is extending testing coverage and making it more ad-hoc.
This project is one of its kind!