読み方 : けいしきしゅほう

形式手法【formal methods】

形式手法とは?

ソフトウェアやハードウェアの仕様や動作を数学的な記法で厳密に表し、その性質を論理的に検証する開発手法。曖昧な自然言語による設計書ではなく、形式言語と推論規則を用いて整合性や安全性を確認する点に重点が置かれる。
形式手法のイメージ画像

形式手法では、システムの振る舞いや性質を数学的な記法で記述した「形式仕様」を作成する。仕様は命題論理述語論理、時相論理などを駆使して定義され、入力条件や状態変化、満たすべき制約を明示的に記述する。仕様の曖昧さを排除し、矛盾や未定義の状態を設計段階で検出できるようになる。数式に基づくため、記述内容は機械的な解析に適している。

検証には「定理証明」や「モデル検査」などの手法が用いられる。定理証明は数学の定理の証明のように、仕様から導かれる性質を論理的に証明し、設計が満たす条件を確認する。モデル検査では状態空間を網羅的に探索し、特定の条件が常に成立するかを自動的に判定する。これらの技術は専用のツールと組み合わせて利用され、設計と検証を反復しながら仕様の整合性を高めていく。

形式手法は高い信頼性が求められる分野で導入されることが多い。航空管制システム、鉄道の制御システム、医療機器のソフトウェア、暗号プロトコルなどでは、システムの欠陥が重大な事故や損失につながるため、設計段階での厳密な検証が求められる。形式手法を基に実装の正当性を確認することで、テストでは見つけにくい論理的欠陥を早期に発見できる利点がある。

一方、数学的記法の理解や仕様記述の労力が必要となり、適用範囲の選定が課題となる。大規模なシステムではモデル化抽象化や分割が求められ、すべてを厳密に扱うことは難しい場合もある。実務上は、安全などに直接関わる重要な一部に限定して形式手法を導入し、通常の設計やテストと併用する形で利用されることが多い。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。