たまには何か書きます。C/C++のマルチスレッドなプログラムのユニットテストでバグを効率的に見つけるためのライブラリ?の作成について。 IBM dWのConTest はてなブックマークを眺めていたら、「ConTestを使用したマルチスレッド・ユニットのテスト - 並列テストが困難な理由とConTestの活用」というIBM developerWorksの記事が話題になっていました。 「(Javaの) 並列プログラム上での単体テストの問題点を解決する補助的なテスト手法」だそうで、例としてあがっているのは次のようなケースです。 名前を印刷するのに3つのスレッドを用意する それぞれ、「姓」「スペース」「名」を印刷する 3つのスレッドは同期を取っていない。つまりバグがある しかし、単体テストを行っても、ほぼ毎回、「姓」「スペース」「名」という正しい順序で(スレッドが実行)されてしまい、バグを検出でき