annotate paper/abstract.tex @ 97:5a354cba3694

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 10 Feb 2017 17:22:00 +0900
parents 0a4646310261
children 42f463ef7bb2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
2f944ab2f5f6 Mini fixes
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \begin{abstract}
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
2 高い信頼性を持つソフトウェアを提供することは重要である。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
3 それには、ソフトウェアが期待される仕様を満たすか検査する手法と、
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
4 仕様を直接証明する手法とがある。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
5 特に実際に動作するソフトウェアを検証や証明できるとなお良い。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
6 本論文では 検証や証明に直接使用することができる言語として
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
7 Continuation based C(CbC) 言語を用いる。
73
a92ac75bd9fa Add abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
8
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
9 CbC上に構築されたプログラムが持つ状態を数え挙げ、仕様を満たしているかどうかを調べるモデル検査的手法を提案し、
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
10 Akasha Meta 計算ライブラリとして実装し、赤黒木の仕様を実用的な木の大きさの範囲内で検証した。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
11 木の大きさを制限することなく実装が仕様を満たしていることを示すには証明が必要である。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
12 プログラムにおける証明は Curry-Howard Isomorphism で型付き $\lambda$計算に対応していることが
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
13 知られている。本論文では証明支援系 Agda を用いた。
73
a92ac75bd9fa Add abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
14
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
15 部分型を用いるとCbC の型システムを定義できる。証明やモデル検査は、これらに対するメタ計算に相当する。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
16 CbCの計算を実装するメタ計算はCbCで記述することができ、これは、CbCの記述なので、部分型を用いた
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
17 型システムで相似的に定義できることを示した。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
18
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
19 それを Agda上で定義した。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
20 これらの形式的定義を使い、CbC のコードの合成の結合則とSingle Linked Stackの満たす性質をAgdaで証明することができた。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
21
10
2f944ab2f5f6 Mini fixes
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
2f944ab2f5f6 Mini fixes
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 \end{abstract}
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
25
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
26 \begin{abstract_eng}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
27 Provinding highly reraiable software is important. One way is checking if the specification is statisfied or not, the other
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
28 way is to prove the implementation satisfies the specification directly.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
29 If we can check or prove actual implementations, it it much better.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
30 In this papaer, we use Continuation base C programming language (CbC) which can be used in both proof and model checking.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
31 We propose model checking method By enumerating bounded computational state in CbC code as a meta computation.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
32 Aksha Meta Computation library makes it possible to check red-black tree algorythm within a practical tree size.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
33 To assure the property for arbitrary size of tree, we need proof method. Proofs in a program is known to corresponds $\lambda$ calculus,
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
34 which is a Curry-Howward Isomorphism. We use Agda proof assistance system.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
35
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
36 We can define the CbC formal type system as a subtype. The proofs or model checkings are meta compuations of the formal type systems.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
37 Meta computaion which implements CbC computation can be descripbed as a CbC oomputation, that is, it is also defined by
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
38 CbC formal tyoe system as a subtype
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
39
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
40 Proposition and proofs have isomorphic relation to typed $\lambda$ calculus by Curry-Howard Isomorphism.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
41
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
42
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
43 \end{abstract_eng}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
44