# HG changeset patch # User Yasutaka Higa # Date 1465290849 -32400 # Node ID f8a9617b4a371d8ec7d3820d433fd50b7d8d0fd7 # Parent 47c50e75903311255687e6758bbfadbe44015fbb Add slide for seminar diff -r 47c50e759033 -r f8a9617b4a37 slides/20160607/slide.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/slides/20160607/slide.md Tue Jun 07 18:14:09 2016 +0900 @@ -0,0 +1,38 @@ +title: Verification of programs using Continuation based C +author: Yasutaka Higa +profile: +lang: Japanese + + +# 研究目的 +* コードセグメントとデータセグメントという単位を用いてプログラムを記述する手法を提案する +* プログラムはコードセグメントという処理の集合として表され、相互に接続される +* 個々のコードセグメントを検証し、検証されたコードセグメントどうしの組み合わせによりプログラム全体を検証する + +# 研究内容 +* コードセグメントとデータセグメントを用いたプログラムに対し、検証を行なう +* コードセグメントどうしの接続の間にメタ計算として検証機構を導入する +* コードを検証用に変更することなく、仕様を満たすか検証する +* 検証の対象として Gears OS のデータ構造を用いる + +# 近況報告 +* cbmc で llrb を検証する + * nondet_int() があったのでいけそうです + +# cbmc で llrb の検証 +* cbmc は c のコードの symbolic execution なので C syntax にしないといけない +* なのでcbc -> c に変換 + * 具体的には code と goto の置換 +* clang でコンパイル可能な状態まで書けました(syntax valid + executable) +* あとは assert を書いて cbmc でチェックしてやる + +# あとやること +* cbmc のコードに assert を埋め込んで検証 +* 仮に書いている C function を全部 cs に変換する +* JavaPathFinder + AVL-Tree in Java +* synchronized queue の akasha での検証 + * bounded/unbounded +* 論文提出締切: 2016/07/08 + + +