annotate paper/abstract.tex @ 98:42f463ef7bb2

Update abstract
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Sun, 12 Feb 2017 10:45:45 +0900
parents 5a354cba3694
children a891d7551bbf
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 高い信頼性を持つソフトウェアを提供することは重要である。
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
3 それには、ソフトウェアが期待される仕様を満たすか検証する手法と、仕様を直接証明する手法とがある。
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
4 特に実際に動作するソフトウェアを検証や証明できるとなお良い。
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
5 本論文では 検証や証明に直接使用することができる言語として Continuation based C(CbC) 言語を用いる。
73
a92ac75bd9fa Add abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
6
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
7 CbC上に構築されたプログラムが持つ状態を数え挙げ、仕様を満たすか調べるモデル検査的手法を提案し、メタ計算ライブラリ Akasha として実装した。
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
8 Akasha では赤黒木の仕様を、限定的な木の大きさの範囲内で検証した。
73
a92ac75bd9fa Add abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
9
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
10 木の大きさを制限せず実装が仕様を満たしていることを示すには証明が必要である。
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
11 プログラムにおける証明は Curry-Howard Isomorphism で型付き $\lambda$計算に対応していることが知られている。
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
12 本論文では依存型を持つ証明支援系 Agda を用いて証明を行なう。
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
13 部分型を用いてCbC の項を型付けすることで、CbC の形式的定義を型システムより相似的に得る。
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
14 これらの形式的定義を Agda によって記述し、CbC のコードの合成の結合則とSingle Linked Stackの満たす性質を証明した。
10
2f944ab2f5f6 Mini fixes
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
2f944ab2f5f6 Mini fixes
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \end{abstract}
97
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 \begin{abstract_eng}
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
19 Proving highly reliable software is important.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
20 One way is checking if the specification is satisfied or not, the other way is to prove the implementation satisfies the specification directly.
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
21 If we can check or prove actual implementations, it it much better.
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
22 In this paper, we use Continuation base C programming language (CbC) which can be used in both model checking and proof.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
23
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
24 We propose model checking method by enumerating bounded computational state in CbC code as a meta computation.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
25 Akasha Meta Computation library makes it possible to check red-black tree algorithm within a bounded tree size.
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
26
98
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
27 To assure the property for arbitrary size of trees, we need proof method.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
28 Proofs in a program are known to correspond $\lambda$ calculus, which is a Curry-Howward Isomorphism.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
29 We use dependently typed Agda proof assistance system.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
30 Formal definitions of CbC are similarly defined by subtyped CbC terms using Agda.
42f463ef7bb2 Update abstract
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
31 We prove associativity of CbC code and Properties of Single Linked Stack using proposed formal definitions.
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
32 \end{abstract_eng}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 96
diff changeset
33