<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/motsu/">
    <title>研究まとめ＠motsu</title>
    <link>http://w.atwiki.jp/motsu/</link>
    <atom:link href="https://w.atwiki.jp/motsu/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>研究まとめ＠motsu</description>

    <dc:language>ja</dc:language>
    <dc:date>2009-06-11T19:19:42+09:00</dc:date>
    <utime>1244715582</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/26.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/motsu/pages/16.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/26.html">
    <title>依存解析</title>
    <link>https://w.atwiki.jp/motsu/pages/26.html</link>
    <description>
      ・概要
・外部
----
**概要
・まだ

**外部
・[[＠IT：Java TIPS -- javapコマンドでクラスファイルを読む&gt;&gt;http://www.atmarkit.co.jp/fjava/javatips/065java004.html]]

#comment    </description>
    <dc:date>2009-06-11T19:19:42+09:00</dc:date>
    <utime>1244715582</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/25.html">
    <title>クラスファイル解析</title>
    <link>https://w.atwiki.jp/motsu/pages/25.html</link>
    <description>
      ・概要
・外部
----
**概要
・Javaのファイルには、Javaファイルとクラスファイルの2種類が存在する。
・・Javaファイル（.java）：ソースコードが書かれている。
・・クラスファイル（.class）：Javaファイルをコンパイルしたもの。バイトコードで書かれている。

**外部
・[[Java Practice クラス解析&gt;&gt;http://www2.mitte.nir.jp/~fuk-js/etc/class_dump.html]]
・[[ホワット・ア・ワンダフル・ワールド コンスタントプールをダンプ&gt;&gt;http://alohakun.blog7.fc2.com/blog-entry-819.html]]
・[[【楽天市場】JAVAバーチャルマシン：楽天ブックス&gt;&gt;http://hb.afl.rakuten.co.jp/hgc/09ad7c5a.b802a3bb.09ad7c5b.a5efd338/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f991222%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f10715651%2f]]

#comment    </description>
    <dc:date>2009-06-11T19:19:33+09:00</dc:date>
    <utime>1244715573</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/24.html">
    <title>TeX</title>
    <link>https://w.atwiki.jp/motsu/pages/24.html</link>
    <description>
      ・概要
・外部
----
**概要
・活版印刷の技法をコンピューター上で実現するページレイアウトソフトである。
・TeXファイルからDVIファイルを生成し、DVIファイルからPDFファイルを生成する。

**外部
・[[テフとは 「テック」 (TeX)： - IT用語辞典バイナリ&gt;&gt;http://www.sophia-it.com/content/TeX]]
・[[TeX Wiki&gt;&gt;http://oku.edu.mie-u.ac.jp/~okumura/texwiki/]]
・[[TeX - 物理のかぎしっぽ&gt;&gt;http://hooktail.org/computer/index.php?TeX]]：TeXの使い方

#comment    </description>
    <dc:date>2009-06-11T16:58:02+09:00</dc:date>
    <utime>1244707082</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/23.html">
    <title>アルゴリズミックデバッギング</title>
    <link>https://w.atwiki.jp/motsu/pages/23.html</link>
    <description>
      ・概要
・外部
----
**概要
・[[プログラムスライシング]]をすることによって、たとえばアルゴリズミックデバッギングをすることができる。

**外部
・[[ホワット・ア・ワンダフル・ワールド アルゴリズミックデバッギング&gt;&gt;http://alohakun.blog7.fc2.com/blog-entry-923.html]]
・[[手続き型プログラミング - Wikipedia&gt;&gt;http://ja.wikipedia.org/wiki/%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0]]
・[[非手続き型言語 - Wikipedia&gt;&gt;http://ja.wikipedia.org/wiki/%E9%9D%9E%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E8%A8%80%E8%AA%9E]]

#comment    </description>
    <dc:date>2009-06-11T17:12:17+09:00</dc:date>
    <utime>1244707937</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/22.html">
    <title>フロー解析</title>
    <link>https://w.atwiki.jp/motsu/pages/22.html</link>
    <description>
      ・概要
・外部
----
**概要
・[[プログラムスライシング]]の場合はフロー解析ではなく[[依存解析]]が適している。

**外部
・[[言語処理工学Ａ 補助プリント&gt;&gt;http://sel.ist.osaka-u.ac.jp/people/inoue/gengo-shori-kogaku-99/annex2.html]]
・[[LIR/3.5 - PukiWiki&gt;&gt;http://www.cs.is.noda.tus.ac.jp/temp/coinswiki/index.php?LIR%2F3.5]]
・[[【楽天市場】コンパイラ（2）：楽天ブックス&gt;&gt;http://hb.afl.rakuten.co.jp/hgc/09ad7c5a.b802a3bb.09ad7c5b.a5efd338/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f435219%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f10306139%2f]]

#comment    </description>
    <dc:date>2009-06-11T16:58:21+09:00</dc:date>
    <utime>1244707101</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/21.html">
    <title>ファジィ理論</title>
    <link>https://w.atwiki.jp/motsu/pages/21.html</link>
    <description>
      ・概要
・外部
----
**概要
・曖昧なことを定量化する概念である。

・もしもデータベースを用いるのならば、Javaと相性が良いのでMySQLを用いると良い。
・しかしMySQLはテーブル形式のデータベースなので、曖昧なことを扱うことができない。
・ここでファジィ理論で定量化することで、曖昧なことを扱うことができるようになる。

**外部
・[[ファジィ集合論 - Wikipedia&gt;&gt;http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%B8%E3%82%A3%E9%9B%86%E5%90%88%E8%AB%96]]

#comment    </description>
    <dc:date>2009-06-11T17:12:55+09:00</dc:date>
    <utime>1244707975</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/19.html">
    <title>プログラムスライシングツールのための共通表現</title>
    <link>https://w.atwiki.jp/motsu/pages/19.html</link>
    <description>
      ・文献の概要
・学んだこと
・外部
----

**文献の概要
・スライシングツールのための共通表現（ＨＩＲＭＬ）を提案する。
・ＨＩＲＭＬとＨＩＲＭＬスライシングツールによる[[プログラムスライシング]]・フレームワークを提案する。

**学んだこと
***共通概念と共通表現
&gt;過去に提案・実装された手続き型言語のスライシングツールの多くは，特定のプログラミング言語に依存している．
&gt;しかし，手続き型言語におけるススライシングはプログラミング言語に依存しないグラフ上の抽象的な操作である．
まとめ
・スライシングツールは、それぞれの特定のプログラミング言語にしか適用できない。
・スライシングは抽象的な操作なので、プログラミング言語に依存しない。

&gt;一方，現行の手続き型言語は各種の概念は多岐にわたるが，処理の内容について見ると，算術文や選択文，反復文など共通する概念がある．
&gt;すなわち，この共通する概念を１つの表現にして，共通表現を用いてスライシングを行うことで，スライシングの操作自体をプログラミング言語から独立させることができる．
まとめ
・プログラミング言語には他の言語と共通する概念がある。
・共通概念を共通表現にして、この共通表現を用いてスライシングすれば、スライシングがプログラミング言語から独立できる。

・共通概念はプログラミング言語に依存していないから、以下のふたつのツールがあれば、どんなプログラミング言語でもスライシングできるようになる、ということである。
・・共通概念についてプログラミング言語の特有表現から共通表現に変換するツール（プログラミングごとに必要になる）。
・・共通表現をスライシングするツール（ひとつあればよい）。

#ref(common.GIF)

***（勉強放棄途中）

**外部
・[[プログラムスライシングツールのための共通表現&gt;&gt;http://www.sapid.org/html2/PDF-ja/toita-SS03.pdf]]
・[[アプリケーションフレームワーク - Wikipedia&gt;&gt;http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%    </description>
    <dc:date>2009-06-11T17:07:46+09:00</dc:date>
    <utime>1244707666</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/18.html">
    <title>コンパイラ・インフラストラクチャを用いた静的プログラムスライシングツール</title>
    <link>https://w.atwiki.jp/motsu/pages/18.html</link>
    <description>
      ・文献の概要
・学んだこと
・外部
----
**文献の概要
・COINSを用いて静的スライスを求めるツールを実装する。

**学んだこと
***静的スライス
&gt;静的に解析することにより得られる
&gt;どんな入力に対してプログラムを実行しても、ある変数に関しては、もとのプログラムと同じ値を計算する実行可能なプログラムである
&gt;プログラムの中からある機能を実現している部分だけを取り出すことができる
まとめ
・ある変数に注目して抽出された部分プログラムである。
・もとのプログラムが実行可能ならば、そのスライスも実行可能である（実行可能になるように抽出する）。
・どんな入力でスライスを実行しても、ある変数はもとのプログラムと同じ値を計算する（同じ値を計算するように抽出する）。
・どんな入力に対しても元のプログラムと同じように動作させるために、ある入力に対しては不要となるような部分であっても他の入力で必要になる可能性があるならば抽出する（多めに抽出する）。

***動的スライス
&gt;動的に解析することにより得られる
&gt;ある入力を与えてプログラムを実行した場合に、その同じ値を計算する実行可能な部分プログラムである
まとめ
・よく分からない＾＾
・ある入力で実行して，その場合に実際に関係した箇所を抽出された部分プログラムである、ということか？
・ある入力に対して元のプログラムと同じように動作させればよいので、その入力が不要とするならば他の入力で必要になる部分であっても抽出しなくてよい（最低限を抽出する）。

***COINSコンパイラ・インフラストラクチャ
&gt;スライスを計算するとき必要な情報はコンパイラで必要となる情報と共通する部分が多い
&gt;したがって、スライスを求めるためにはコンパイラの解析を利用できると工数を減らすことができる
&gt;本研究ではユーザーという視点からCOINS を用いてスライシングツールを実現した
まとめ
・スライシングとコンパイルは、必要となる情報に重複が多い。
・重複している部分をコンパイラに解析させれば、スライシングの手間を省略できる。
・コンパイラはCOINSコンパイラ・インフラストラクチャを利用する。

***（勉強放棄中）

**外部
・[[コンパイラ・インフラストラクチャを用いた    </description>
    <dc:date>2009-06-11T17:08:02+09:00</dc:date>
    <utime>1244707682</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/17.html">
    <title>プログラムスライシング</title>
    <link>https://w.atwiki.jp/motsu/pages/17.html</link>
    <description>
      ・概要
・外部
----
**概要
・「あるプログラムにおける、ある値を求めるために影響を与えている処理部分」を、部分プログラムとして抽出する技術である。
・プログラムスライシングによって抽出された部分プログラムをスライスと呼ぶ。
・静的解析と動的解析に分かれる。
・・静的（スタティック）：どんな入力に対しても正常に動作するように抽出する→可能性があるところを漏らさず抽出する。
・・動的（ダイナミック）：ある入力に対して正常に動作するように抽出する→確実に必要になる最低限のところだけを抽出する。
・Mark Weiserによって考案された。

**外部
・[[プログラムスライシング&gt;&gt;http://www.interq.or.jp/saturn/jken/open/rejime3.htm]]
・[[マーク・ワイザー - Wikipedia&gt;&gt;http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%BB%E3%83%AF%E3%82%A4%E3%82%B6%E3%83%BC]]
・[[【楽天市場】プログラムスライシング技術と応用：楽天ブックス&gt;&gt;http://hb.afl.rakuten.co.jp/hgc/09ad7c5a.b802a3bb.09ad7c5b.a5efd338/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f737575%2f&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f10525462%2f]]

#comment    </description>
    <dc:date>2009-06-11T17:05:21+09:00</dc:date>
    <utime>1244707521</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/motsu/pages/16.html">
    <title>GNUデバッガ</title>
    <link>https://w.atwiki.jp/motsu/pages/16.html</link>
    <description>
      ・特徴
・機能
・外部
----
**特徴
・GDB（Gnu DeBugger）とも呼ばれる。
・GNUソフトウェア・システムで動く標準の[[デバッガ]]である。
・GCCでコンパイルしたプログラムをデバッグする。

***GCC（Gnu Compiler Collection）について
・様々な言語を処理可能なコンパイラである。
・C、C++、FORTRANなどの言語をコンパイルできる。
・Javaには対応していない。

**機能
・ステップ実行
・変数の表示、変更
・ブレークポイント

**外部
・[[GNUデバッガ - Wikipedia&gt;&gt;http://ja.wikipedia.org/wiki/GNU%E3%83%87%E3%83%90%E3%83%83%E3%82%AC]]
・[[RAT Portal Develop&gt;&gt;http://rat.cis.k.hosei.ac.jp/article/devel/]]

#comment    </description>
    <dc:date>2009-06-11T17:09:31+09:00</dc:date>
    <utime>1244707771</utime>
  </item>
  </rdf:RDF>
