ソフトウェア検証の基礎となる理論について話題を選んで解説する. 操作的意味論,ホーア論理,モデル検査,無限語上のオートマトン等.
ソフトウェア検証の基礎となる理論を理解するとともに,様々な計算モデルへの理解を深める.
操作的意味論,ホーア論理,モデル検査,無限語上のオートマトン
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | 展開力(実践力又は解決力) |
以下の授業計画に基づき授業を進める. 後半は, プッシュダウンモデル検査,時間オートマトン, 木オートマトンなどからトピックを選んで解説する.
授業計画 | 課題 | |
---|---|---|
第1回 | プログラミング言語の意味論:表示的意味論, 操作的意味論 | プログラミング言語の意味論の概要を理解する |
第2回 | ホーア論理(1) | ホーア論理の概要を理解する |
第3回 | ホーア論理(2):健全性と相対完全性 | ホーア論理の健全性の議論を理解する |
第4回 | オートマトン理論の復習 | オートマトン理論を復習する |
第5回 | 無限語上のオートマトン(1) | 無限語上のオートマトンの考え方を理解する |
第6回 | 無限語上のオートマトン(2) | 無限語上のオートマトンの基礎理論を理解する |
第7回 | 時相論理:LTLとCTL | 時相論理の基礎を理解する |
第8回 | モデル検査(1) | モデル検査の基礎を理解する |
第9回 | モデル検査(2) | モデル検査のアルゴリズムを知る |
指定しない.
講義資料を適宜配付する.
次の本を参考書として使用する.
*Formal Semantics of Programming Languages, Glynn Winskel, MIT Press, 1993.
*Automata Theory: An Algorithmic Approach, Javier Esparza.(https://www7.in.tum.de/~esparza/automatanotes.html)
試験及び課題の得点により評価する.
オートマトンや文脈自由文法に関する基礎的な知識を仮定する.