Это объявление от Microsoft Research звучит так, словно у них есть инструмент, который делает именно то, что я хочу. К сожалению, пока нет версии .net, но планируется. Цитировать сайт:
CHESS - это автоматический инструмент для поиска
ошибки в многопоточном программном обеспечении
систематическое исследование потока
расписания. Он находит ошибки, такие как
гонки данных, тупики, зависания и
доступ, вызванный повреждением данных
нарушения, которые чрезвычайно трудно
найти с текущими инструментами тестирования. однажды
ШАХМАТ находит ошибку, она предоставляет
полностью повторяемое исполнение
программа, приводящая к ошибке, таким образом
значительно помогая процессу отладки.
Кроме того, CHESS обеспечивает ценную
и новое понятие тестового покрытия
подходит для многопоточных программ.
CHESS может использовать существующий параллельный тест
случаи и, следовательно, легко развернуть.
И разработчики, и тестеры должны
найти шахматы полезными.