コンテンツへスキップ
uencoder

Formal Verification

形式検証(Formal Verification)は数学的手法を用いて、プログラムが仕様を満たすことを証明する手法であり、テストよりも強い正しさの保証を提供する。

目的

安全性が重要なシステムに対して数学的な正しさの証明を与え、特定の欠陥クラス全体を排除する。

メカニズム

手法には定理証明(Coq/Isabelle)、モデル検査、抽象解釈がある。事前条件・事後条件・不変条件といった形式仕様を必要とし、プログラムが仕様を満たすことを証明する。コストは高いが、航空宇宙、カーネル、暗号の分野で使用される。

ユースケース

  • 安全性が重要なソフトウェア
  • カーネルの検証
  • 暗号プロトコルの証明

関連用語

References