研究課題/領域番号 |
12680348
|
研究機関 | 大阪大学 |
研究代表者 |
井上 克郎 大阪大学, 大学院・基礎工学研究科, 教授 (20168438)
|
研究分担者 |
松下 誠 大阪大学, 大学院・基礎工学研究科, 助手 (60304028)
楠本 真二 大阪大学, 大学院・基礎工学研究科, 助教授 (30234438)
|
キーワード | プログラム解析 / Javaプログラム / オブジェクト指向言語 / プログラムスライス / 影響波及解析 / エイリアス解析 / バイトコード |
研究概要 |
本研究では、オブジェクト指向言語、特にJavaに関する解析とその結果の表示に関する研究を行った。 まず、Javaプログラムの中の各参照変数が同じオブジェクトを指す可能性があるかを調べるエイリアス解析の研究を行った。ユーザが要求するエイリアス情報を効率良くかつ高い精度で検出する方法の提案を行った。この方法では、複数の解析アルゴリズムを容易に使い分けることができ、また、拡張もできる。実際に本手法を用いてJavaエイリアス解析ツールJAATを実現し、その有効性を評価した。 次に、Javaバーチャルマシンに基づく、軽量動的スライス計算手法DC法の提案を行い、バイトコードに対してDCスライスを適用した。その際、Javaコンパイラが生成するバイトコードとソースコードの対応表を利用することで、スライス結果をソースコードに表すことができるようになる。実際にこの方式を適用し、Javaプログラムのスライスツールを作成し、評価を行った。 最後に、Javaプログラムの変更に伴う影響波及解析を行う手法の提案とそのシステムの試作を行った。オブジェクト指向プログラムでは、従来の手続き型プログラムに比べ、直接の変更箇所以外に影響を及ぼすような変更が良く行われる。その際、安全に変更作業を行うために、影響を受けたところを効率良く表示するシステムは有効である。本手法では、クラスのメンバ間の関係を表現するために、2種類のグラフを用いて、効率良く変更箇所が抽出できるように工夫し、それをGUI上に表現した。
|