形式手法
形式手法(けいしきしゅほう、formal methods)
数学的に厳密に意味付けられた言語(形式仕様記述言語)を用いて情報システム(ソフトウェア、ハードウェア等)の要求や設計等を記述し、情報システムがユーザの要求等を満たしているかなど論理的に推論するための仕組みを提供する手法
要求や設計等を記述して、ユーザの要求等を満たしているかを確かめる手法
開発対象をより厳密に書き留め、解析可能にするための単なる「工学的」手法
ルールチェック付き仕様記述
要件定義、設計のときに役立つ技術。
形式仕様記述のVDM++、モデル検査系のTLA+、SPINが主流らしい
FelicaでVDM++を使用
AWSの設計でTLA+を使用
関連: 形式手法の事例
ソフトウェアがある性質を満たしていることを論理的に検証するため、一定の不具合が存在しないことを保証できる。
分散技術の証明とかアルゴリズムの証明に使われる
銀の弾丸ではない、数学でもない(類似した記法は使う)
世界中で少しずつ採用が進んでいる
Alloyは多分有名
形式手法はテストを置き換えるものではない
ref: 形式手法はなぜ流行っていないのか - Qiita
型システムも形式手法に含まれる
形式手法にも重めのものと軽いものがあって、プログラミングの型、型システムあたりは軽量形式手法というものになる
仕様記述からコードを生成するツール
適用対象に応じて選択することが重要になる
形式手法が適しているもの
形式仕様記述
形式手法のレベル
形式手法 検証アプローチ
形式手法の文献
形式手法とコスト、損益分岐点
理解度チェック
Q. 形式手法とは
Q. 形式仕様記述言語とは
Q. 形式的とは
Q. 何に使えるか
Q. ソフトウェア・テストとの違いは
Q. 形式手法の適用レベルとは
Q. 形式手法の適用レベル0
Q. 形式手法の適用レベル1
Q. 形式手法の適用レベル2
Q. 仕様
参考
ゼロから学んだ形式手法 - DeNA Testing Blog
ディペンダブル・システムのための形式手法の実践ポータル
Model checking - Wikipedia
形式手法のまとめ(随時更新) - Qiita
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
手法・ツール - 応用事例DB
2011/5/13
形式手法を用いた実践的開発への取り組み
2012/11/15
成功した形式手法導入調査例の分析と発見
中小企業の形式手法への取り組み
形式手法導入に関わるガイダンス - IPA(pdf)
2012年11月13日
報告書:実務家のための形式手法 教材「厳密な仕様記述を志すための形式手法入門」の公開:IPA 独立行政法人 情報処理推進機構
厳密な仕様記述における形式手法成功事例調査報告書
Formal methods | Formal Methods Wiki | Fandom
関連
形式検証
数理論理学
型システム
ISO/IEC 15408
ISO 26262
DO-178B
IEC 61508
CENELEC EN 50128
メモ
形式検証/形式手法 - MATLAB & Simulink
/tkgshn/「せっかく記号を使った形式手法があるのに自然言語に戻るのか」というツイート
ChatGPT.iconhttps://chatgpt.com/share/6825a290-dc38-800d-9a49-2104d25455e1
Galois - What Works (and Doesn't) Selling Formal Methods
#TODO_2