yohhoyの日記

技術的メモをしていきたい日記

Relacy Race Detector

C++11メモリモデルに基づく競合検出ツール。BSD-likeライセンス

Relacy Race Detector

Relacy Race Detector is a tool for efficient execution of unit-tests for synchronization algorithms written in C++0x.
Every user thread is represented as a fiber (ucontext). Every time only one fiber is running, and special scheduler controls interleaving between fibers.

http://www.1024cores.net/home/relacy-race-detector

ツール自体はC++03用のヘッダオンリーライブラリとして実装されている。実際のスレッド上で対象コードを実行するのではなく、ファイバー&独自スケジューラ上でコード動作を複数回エミュレーションしてデータ競合検出を行う。スケジューラ動作はランダムスケジューリングと網羅的スケジューリングの2種類が存在する。(公式ドキュメントの情報)


関連URL