annotate Paper/soto.tex @ 3:71a1b18f3d5a

add bt agda source
author soto <soto@cr.ie.u-ryukyu.ac.jp>
date Sat, 06 Nov 2021 19:45:49 +0900
parents 9176dff8f38a
children 339fb67b4375
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 % withpage: ページ番号をつける (著者確認用)
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 % english: 英語原稿用フォーマット
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 \documentclass{ipsjprosym}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 %\usepackage{graphicx}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 \usepackage[T1]{fontenc}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 \usepackage{lmodern}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 \usepackage{textcomp}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 \usepackage{latexsym}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 %\usepackage[fleqn]{amsmath}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 %\usepackage{amssymb}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 \usepackage{listings}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 \usepackage[dvipdfmx]{graphicx}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 \usepackage{graphicx}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 \usepackage{lmodern}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 \usepackage{textcomp}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \usepackage{latexsym}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 \usepackage{ascmac}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 \usepackage[fleqn]{amsmath}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 \usepackage{amssymb}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \usepackage[deluxe, multi]{otf}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \usepackage{url}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \usepackage{cite}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 %\documentclass[withpage, english]{ipsjprosym}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 \usepackage{comment}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 \usepackage{here}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 \lstset{
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 language=C,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 tabsize=2,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 frame=single,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 basicstyle={\tt\footnotesize}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 identifierstyle={\footnotesize}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 commentstyle={\footnotesize\itshape}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 keywordstyle={\footnotesize\ttfamily}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 ndkeywordstyle={\footnotesize\ttfamily}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 stringstyle={\footnotesize\ttfamily},
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 breaklines=true,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 captionpos=b,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 columns=[l]{fullflexible}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 xrightmargin=0zw, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 xleftmargin=1zw, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 aboveskip=1zw,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 numberstyle={\scriptsize}, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 stepnumber=1,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 numbersep=0.5zw, %
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 lineskip=-0.5ex,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 escapechar=\@,
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 }
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 \renewcommand{\lstlistingname}{Code}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 \usepackage{caption}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 \captionsetup[lstlisting]{font={small, tt}}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 \usepackage{url}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 \begin{document}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 % Title, Author %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 \title{Gears Agda による Red Black Tree の検証}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 %\affiliate{IPSJ}{情報処理学会}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 \affiliate{IERYUKYU}{琉球大学大学院理工学研究科工学専攻知能情報プログラム}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 \author{上地 悠斗}{Yuto UECHI}{IERYUKYU}[soto@cr.ie.u-ryukyu.ac.jp]
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 \author{河野 真治}{Shinji KONO}{IERYUKYU}[kono@ie.u-ryukyu.ac.jp]
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 %概要
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 \begin{abstract}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 OS やアプリケーションの信頼性を高めることは重要な課題である。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 信頼性を高める為にはプログラムが仕様を満たした実装を検証する必要がある。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 具体的には「モデル検査」や「定理証明」などが検証手法としてあげられる。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 当研究室では Continuation based C (CbC) という言語を開発している。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 CbC とは、 C言語からループ制御構造とサブルーチンコールを取り除き、
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 継続を導入した C 言語の下位言語である。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 その為、それを実装した際のプログラムが正確に動作するのか検証を行いたい。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 検証には定理証明を用いるため、 定理証明支援器のAgda を用いる。
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 agdaが変数への再代入を許していない為、ループが存在し、かつ再代入がプログラムに含まれるデータ構造である red black tree の検証を行う
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 \end{abstract}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 \begin{jkeyword}
2
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
77 プログラミング言語, CbC, Gears OS, Agda, 検証
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 \end{jkeyword}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 \maketitle
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 \input{tex/intro.tex} % はじめに
2
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
84 \input{tex/cbc.tex} % cbc の説明
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
85 \input{tex/agda.tex} % agda の説明
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
86 \input{tex/cbc_agda.tex}% cbc と agda(gearsagda)
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
87 \input{tex/hoare.tex} % hoare logic の説明
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
88 \input{tex/while_loop.tex} % while loop の実装と検証(簡単に)
3
71a1b18f3d5a add bt agda source
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
89 \input{tex/tree_desc.tex}% Gears Agda における木構造の設計
2
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
90 % red black tree の実装(こいつも簡単に)
9176dff8f38a ADD while loop description
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
91 % red black tree の検証
0
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 % まとめ
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 \nocite{*}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 \bibliographystyle{ipsjsort}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 \bibliography{reference}
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97
soto <soto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 \end{document}