形式的検証
format varification
ソフトウェア が正しく動作することを数学的に証明する手法
論理的・数学的なモデルを用いて正しいことを検証する
具体的には、プログラムが特定の仕様(要件)を満たしていることを、手動またはツールを用いて証明する
テスト とは、形式的検証ではロジックを解析して正しさを確認する点で異なる
具体的なツール
Rust
Prusti: コードを 静的解析 して形式的検証を行うツール
KLEE: コードを シンボリック実行 で解析し、検証を支援するツール