Testing
SPIN and NuSMV: Model Checkers for Concurrent System Verification
Race conditions are one of the hardest bugs to find with tests. A threading bug might only trigger after a specific interleaving of 8 operations across 3 goroutines, and the window for that interleaving might be 10 nanoseconds. You could run the test a million times and never hit it