形式手法
formal method
ソフトウェア開発や仕様定義を数学的に厳密に効率的に行うための手法
形式仕様記述言語で仕様を厳密に書き、それを論証できる
具体的な実践的なユースケースは仕様記述、開発、検証など
形式手法を俯瞰する
形式手法の事例
参考
『形式手法の技術講座』
#WIP
ソフトウェア開発の開発のフェーズ
仕様
厳密でかつ抽象的な数学的表現
このままでは実行できない
この段階で間違いを見つけられるのが嬉しい
解の記述
型システムは仕様の中でも大雑把な部類の仕様
手軽に使えてある程度安全性を保てる奇跡のようなバランスに位置する
Isabelleなどの証明と異なり自動的に調べられる、人間の手を介さなくていい
データフロー解析と似ているらしい
どのへんが #??
設計
数学的検証が可能
具体的にここはなに #??
解の記述
実装
数学的検証が可能
マジの実装
手続き的なプログラムのコードそのもの
リアクティブシステム
V&V
関連
自動定理証明
参考
TaPL
『情報理論のための数理論理学』
http://katc.hateblo.jp/entry/2020/01/01/014442
歴史
https://speakerdeck.com/ytaka23/developers-summit-2020
https://ja.wikipedia.org/wiki/形式手法
https://www.principia-m.com/slides/formal_methods.pdf
https://qiita.com/autotaker1984/items/52cd65486a3186af080b
https://interdb.hatenablog.com/entry/2021/03/25/170504
https://cedil.cesa.or.jp/cedil_sessions/view/1904
『ソフトウェア工学の道具としての形式手法』
https://swet.dena.com/entry/2020/03/17/165835