Model Checking
モデル検査は、システムのすべての状態が時相論理の性質を満たすかどうかを網羅的に検証し、性質に違反する反例状態を自動的に発見する。
目的
並行システムの安全性と活性を網羅的に検証し、デッドロックや競合を自動的に発見する。
メカニズム
システムを状態機械としてモデル化し、性質を時相論理(LTL/CTL)で表現する。明示的な状態列挙または記号的BDDですべての状態を走査する。性質が失敗すると反例パスが生成される。SPINやNuSMVが代表的なツールである。
ユースケース
- 並行システムの検証
- プロトコルの検証
- ハードウェアの検証