Hive mind: update on "temporal fuzzing"
I learned something neat tonight from reader feedback. Apparently Microsoft has a research project called CHESS which aims to expose concurrency bugs by doing interesting tricks with process scheduling.
If this sounds familiar, it's because I posted something I called temporal fuzzing a couple of weeks ago. Clearly, they had the same idea some time back and then went to the trouble of fleshing it out and doing it for real.
They even improved on the basic idea (sleeps) and instead have a scheme using semaphores to selectively block and unblock the threads. They then deterministically slide them around and keep track of each permutation while running a test. If it breaks, it lets you know.
Pretty cool! Thanks for the tip, mquander!