title: Verification of programs using Continuation based C author: Yasutaka Higa profile: lang: Japanese # 研究目的 * コードセグメントとデータセグメントという単位を用いてプログラムを記述する手法を提案する * プログラムはコードセグメントという処理の集合として表され、相互に接続される * 個々のコードセグメントを検証し、検証されたコードセグメントどうしの組み合わせによりプログラム全体を検証する # 研究内容 * コードセグメントとデータセグメントを用いたプログラムに対し、検証を行なう * コードセグメントどうしの接続の間にメタ計算として検証機構を導入する * コードを検証用に変更することなく、仕様を満たすか検証する * 検証の対象として Gears OS のデータ構造を用いる # 近況報告 * SWoPP のネタ * Gears のデータ構造の検証 * Operational Semantics of CbC * 発表申込締切が 2016/05/13 あたりなので来週くらいに発表アブストを持ってきます # Gears のデータ構造の検証 * Red-Black Tree * insertion の全探索は13要素までOK * 6,227,020,800 通り * Synchronized Queue * bounded queue * 各 thread が取りえる操作を全探索 * unbounded queue * アイデア: 0, 1, 2 以上で抽象化 # Operational Semantics of CbC * Agda で CbC を書けるか * memory allocation 部分とかは meta に押しつけて書く * 待ちあわせとかも無い * cs は ds -> ds * それだと行き先情報が無いので * ds に next を含める or State Monad 辺りでやってみる * Agda を 2.5.1 に上げて State Monad を書いてみてるところ