2001 Fiscal Year Annual Research Report
解析情報に基づくソフトウェアシステムのモデル表示に関する研究
Project/Area Number |
12680348
|
Research Institution | Osaka University |
Principal Investigator |
井上 克郎 大阪大学, 大学院・基礎工学研究科, 教授 (20168438)
|
Co-Investigator(Kenkyū-buntansha) |
松下 誠 大阪大学, 大学院・基礎工学研究科, 助手 (60304028)
楠本 真二 大阪大学, 大学院・基礎工学研究科, 助教授 (30234438)
|
Keywords | プログラム解析 / Javaプログラム / オブジェクト指向言語 / プログラムスライス / 影響波及解析 / エイリアス解析 / バイトコード |
Research Abstract |
本研究では、オブジェクト指向言語、特にJavaに関する解析とその結果の表示に関する研究を行った。 まず、Javaプログラムの中の各参照変数が同じオブジェクトを指す可能性があるかを調べるエイリアス解析の研究を行った。ユーザが要求するエイリアス情報を効率良くかつ高い精度で検出する方法の提案を行った。この方法では、複数の解析アルゴリズムを容易に使い分けることができ、また、拡張もできる。実際に本手法を用いてJavaエイリアス解析ツールJAATを実現し、その有効性を評価した。 次に、Javaバーチャルマシンに基づく、軽量動的スライス計算手法DC法の提案を行い、バイトコードに対してDCスライスを適用した。その際、Javaコンパイラが生成するバイトコードとソースコードの対応表を利用することで、スライス結果をソースコードに表すことができるようになる。実際にこの方式を適用し、Javaプログラムのスライスツールを作成し、評価を行った。 最後に、Javaプログラムの変更に伴う影響波及解析を行う手法の提案とそのシステムの試作を行った。オブジェクト指向プログラムでは、従来の手続き型プログラムに比べ、直接の変更箇所以外に影響を及ぼすような変更が良く行われる。その際、安全に変更作業を行うために、影響を受けたところを効率良く表示するシステムは有効である。本手法では、クラスのメンバ間の関係を表現するために、2種類のグラフを用いて、効率良く変更箇所が抽出できるように工夫し、それをGUI上に表現した。
|
-
[Publications] 近藤和弘: "オブジェクト指向プログラム変更時の影響波及解析手法の提案"電子情報通信学会技術研究報告(SS2001-38). Vol.101, No.628. 33-40 (2002)
-
[Publications] 誉田謙二: "Javaバーチャルマシンを利用した動的依存関係解析手法の提案"電子情報通信学会技術研究報告(SS2001-45). Vol.101, No.629. 47-54 (2002)
-
[Publications] Fumiaki Ohata: "A Slicing Method for Object-Oriented Programs Using Lightweight Dynamic"Proceedings of Eighth Asia-Pacific Software Engineering Conference(APSEC2001), December 4-7, 2001, Macao, China. 273-280 (2001)
-
[Publications] 大畑文明: "エイリアスフローグラフを用いたオブジェクト指向プログラムのエイリアス解析手法"電子情報通信学会論文誌D-I. Vol.J84-D-I No.5. 443-453 (2001)