<< 1月 2007 | ホーム | 3月 2007 >>

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

複数のリファクタリング操作を行おうとしている時に、それらの操作が衝突していないか検出する手法を提案している論文。検出は、操作をグラフ変換を用いて表し、危険対を求めるアルゴリズムを利用する。論文にはいくつかのリファクタリング操作について結果だけ示してあり、例えば「メソッドの移動」と「変数のカプセル化」が衝突する。また、適用する順序によって衝突したりしなかったりするペアも示されている。また、衝突するそれぞれの操作を適用した後で別の操作により合流することができかどうかの考察も行っている。

author="Tom Mens and Gabriele Taentzer and Olga Runge",
title="{Detecting Structural Refactoring Conflicts Using Critical Pair Analysis}",
booktitle="Proceedings of the Workshop on Software Evolution through Transformations: Model-based vs. Implementation-level Solutions",
publisher="Elsevier",
volume="127",
series="ENTCS",
pages="113--128",
year="2005"

タグ : ,

A Unifying Framework for Process Calculus Semantics of Concurrent Object-Oriented Languages

並行オブジェクト指向言語の意味論を CCS で定義した論文。似たようなことをやった研究は他にもあるけど、継承まで考慮に入れているのは他では見たことはないはず。コーディング方法としてはわりと普通。

author="Michael Papathomas",
title="{A Unifying Framework for Process Calculus Semantics of Concurrent Object-Oriented Languages}",
booktitle="Object-Oriented Concurrent Computing",
publisher="Springer",
volume="612",
series="LNCS",
pages="53--79",
year="1992"

タグ : ,

An Extensible Meta-Model for Program Analysis

Cross-Language Program Analysis and Refactoring と同時期に出た論文。いろいろなプログラミング言語に共通するモデルを作るための枠組みの話。実際にどのようにモデルを作るかといった具体的なことはほとんど載ってない。モデルは基本的に木構造で、ノードの集合、木構造の定義、ルートノード、ノード間の関係から定義される。言語固有のモデルも共通モデルも同じで、あとは固有モデルから共通モデルへのマッピングを定義する。ということで、よく考えると特に変わったことを言ってるわけではない感じ。

author="Dennis Strein and R{\"u}diger Lincke and Jonas Lundberg and Welf L{\"o}we",
title="{An Extensible Meta-Model for Program Analysis}",
booktitle="ICSM '06",
publisher="IEEE Press",
pages="380--390",
year="2006"

タグ : ,

Cross-Language Program Analysis and Refactoring

複数のプログラミング言語を対象としたメタモデルを定義して、メソッドの名前変更のリファクタリングをやりました、という論文。JSP などのように一つのファイル内に異なる言語が混ざっているようなものも対象にしているのが特徴らしい。モデルは、抽象構文木とメタモデルへのマップと関係の生成系からなっている。メタモデルの詳細は別の論文に詳しいらしい。実際に物もできているみたいだけど、売り物なので実装の詳細等はまったく不明。

author="Dennis Strein and Hans Kratz and Welf L{\"o}we",
title="{Cross-Language Program Analysis and Refactoring}",
booktitle="Sixth IEEE International Workshop on Source Code Analysis and Manipulation",
publisher="IEEE Press",
pages="207--216",
year="2006"

タグ : ,