Verification of programs using Continuation based C
Yasutaka Higa
研究目的
コードセグメントとデータセグメントという単位を用いてプログラムを記述する手法を提案する
プログラムはコードセグメントという処理の集合として表され、相互に接続される
個々のコードセグメントを検証し、検証されたコードセグメントどうしの組み合わせによりプログラム全体を検証する
研究内容
コードセグメントとデータセグメントを用いたプログラムに対し、検証を行なう
コードセグメントどうしの接続の間にメタ計算として検証機構を導入する
コードを検証用に変更することなく、仕様を満たすか検証する
検証の対象として Gears OS のデータ構造を用いる
近況報告
llrb の insertion の検証
仮に C function で書いていた部分を cs に変換中
やってることは木を深さ情報付きで辿る + 辿る+コピー
辿る部分は書けたが TCE が失敗してる模様
SEGV で落ちるし lldb で bt が取れる
Tail call elimination was failed on goto warning: not unreachable instruction in a tail call.
allocate() してるのがまずそう
allocate を akasha 内部では cs でやろうかなと考え中
あとやること
(doing) 仮に書いている C function を全部 cs に変換する
cbmc のコードに assert を埋め込んで検証
JavaPathFinder + AVL-Tree in Java
synchronized queue の akasha での検証
bounded/unbounded
論文提出締切: 2016/07/08