メタ計算を用いた Continuation based C の検証手法

Yasutaka Higa

プログラミング言語とソフトウェアの信頼性

二つのアプローチを用いたソフトウェア検証

Continuation based C

CodeSegment

DataSegment

メタ計算

Meta CodeSegment

Meta DataSegment

C言語との対応

並列に信頼性高く動作する GearsOS

赤黒木

GearsOS における赤黒木の利用例(ノードの挿入)

仕様の記述とその確認

既存のモデル検査器 spin

既存のモデル検査器 CBMC

メタ計算ライブラリ akasha

チェックする仕様

akasha と CBMC の比較

定理証明

証明支援系 Agda

Agda 上に CbC を記述するには?

メタレベルの型付け

部分型

入力の部分型

# 出力の部分型

部分型で何ができたか?

SingleLinkedStack の証明

Agda を用いた証明手法

まとめ

今後の課題