annotate introduction.tex @ 30:67d79c18a276

Update description and delta definition
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Thu, 12 Feb 2015 12:39:57 +0900
parents 76ce5bb18092
children bf136bd59e7a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
1 \chapter{プログラムの変更の形式化}
11
76ce5bb18092 Add Category definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
2 \label{chapter:introduction}
76ce5bb18092 Add Category definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
3
4
cc74def322a8 Add introduction
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 本研究ではプログラムの信頼性の向上を目標とする。
cc74def322a8 Add introduction
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
cc74def322a8 Add introduction
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 プログラムの信頼性とはプログラムが正しく動く保証性であり、信頼性は多くの原因により損なわれる。
30
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
7 例えば仕様が未定義の挙動によってプログラムが停止したり、プログラム内の誤った条件式により計算結果が仕様と異なったり、実行環境やパラメタが変化した際に望まない動作が発生することなどがある。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
8 信頼性を低下させる原因が増えるタイミングの多くはプログラムを変更した時である。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
9 よって、プログラムの変更を形式化することにより、プログラムの信頼性が損なわれる変更を定義する。
4
cc74def322a8 Add introduction
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
cc74def322a8 Add introduction
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 本研究ではプログラムの変更を Monad を用いて形式化する。
30
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
12 プログラムにおけるMonad とはデータ構造とメタ計算の対応である。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
13 メタ計算とは計算を実現するための計算であり、プログラムの変更をメタ計算として定義することで、プログラムの変更そのものを計算として実行することができる。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
14 例えば、プログラムが変更された際に変更前と変更後のプログラムの挙動を比較する機構を考える。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
15 もし挙動の変化が望ましくない場合、信頼性が損なわれる変更だと判定できる。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
16 このように、プログラムの変更に対するメタ計算を定義することで信頼性を保ちながら開発するための手法を提案する。
67d79c18a276 Update description and delta definition
Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
17 加えて、形式化した論理の観点からプログラムの変更が持つ性質などを解析し、ソフトウェア開発手法の指針を提案する。