If you’re in Erlang, and have a license, one can use PULSE to help find concurrency problems. As I understand it, this messes with the schedulers in Erlang to give random orderings. From what I’ve heard, the visualizations are quit nice.