AspectJプログラムのPoints-to解析
スポンサーリンク
概要
- 論文の詳細を見る
現在,ロギングなどの複数の箇所にわたる処理の分散を「アスペクト」という単一のモジュールにまとめることができるアスペクト指向プログラミングが注目されてきている.アスペクトによる横断処理のモジュール化は,プログラムの保守性,再利用性を高めることができ,その有用性も示されつつある.AspectJはオブジェクト指向言語であるJavaを拡張した言語であり,アスペクト指向プログラミングのモジュール機能「アスペクト」を利用するこどかできる.points-to解析は,プログラムを静的に解析し,参照変数,またはフィールドとそれによって指し示されるオブジェクトのセットを決定する.解析で得られるセット情報はコンパイルの最適化やソフトウェア工学ツールに対して様々な利点を持つ.AspectJでは,クラスとアスペクトを織り込むことで,アスペクト側を動作させることができ,Points-to解析はこの両方にわたって行われるべきである.この場合,解析の対象となるクラスから織り込まれるアスペクトに向けて解析処理の移行が必要となるが,言語の性質上,クラス側にアスペクトヘの動作移行の目安となるものは明示的に記述されておらず,Javaに対してのPoints-to解析手法と同様な解析時における移行目安の検出からの処理移行は困難である.本発表では,AspectJに対して,クラス-アスペクト間の関係情報を事前構築し,その情報の参照に基づいて,従来のJavaのpoints-to解析手法からAspectJへの拡張を提案する.
- 2005-01-15
著者
関連論文
- AspectJプログラムのPoints-to解析
- アスペクト指向プログラムにおけるコールグラフの構築
- An Inteligent Agent that Supports Information Gathering from Online Newsgroups
- バイトコードに基づくJAVAコールグラフの生成
- Javaプログラムにおけるコールグラフの構築方法
- AspectJプログラムにおける制御フローグラフの構築法
- Javaクラスファイルにおける複雑さ計測ツールの開発
- Dependence Graphs for Java Software
- A Dynamic Slicing Algorithm for Object-Orirnted Software
- Toward Measuring the Complexity of Software Architectures