view slides/20161213/slide.md @ 157:4c1b25782208

Add slide for seminar
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 13 Dec 2016 18:25:50 +0900
parents
children 6e4a6421f168
line wrap: on
line source

title: Verification method of programs using Continuation based C
author: Yasutaka Higa
profile:
lang: Japanese

# 研究目的
* コードセグメントとデータセグメントという単位を用いてプログラムを記述する手法を提案する
* プログラムはコードセグメントという処理の集合として表され、相互に接続される
* 型検査器を導入することでコードセグメントが接続可能かどうかを判断する
* また、コードセグメントの型から推論してデータセグメントの生成を行なう

# 研究内容
* コードセグメントとデータセグメントを用いて記述する言語 Continuation based C に型を導入する
* コードセグメント内部の演算と変数代入から型を推論する
* 接続可能かどうかをコンパイル時に判断し、必要なデータセグメントを型情報から生成する


# 近況報告
* Gears の Stack の証明をこねてました
    * 任意の Stack に対して n回 push した後に n回 pop したら元に戻る
    * 空の Stack に対しても同様
* Gears の型をどうするかのアイデア

# Type of Gears
* CodeSegment のは DataSegment -> DataSegment
    * DataSegment は制約か部分型
    * 合成できるのならOK
* 全ての部分型を満たすものが最初の引数になるのでそれを生成できれば良い
* 関数合成部分を切り替え可能なメタ計算にする
    * Allocate とかも書けそう

# 問題点
* どう書くか/書けるのか
* goto の分岐
* 総称型に拡張可能かどうか
* 並列実行はどう書くのか
    * まだAPIが無い


<!-- vim: set filetype=markdown.slide: -->