«前の日記(2004-10-06) 最新 次の日記(2004-10-08)» 編集

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2004-10-07 古い日記からの変換データ [長年日記]

_ [論文]Fan-Inベースのアスペクト抽出

Marius Marin, Arie van Deursen, Leon Moonen:Identifying Aspects using Fan-In Analysis.WCRE 2004, to appear.

各メソッドがいくつのメソッドから呼ばれているかをあらわすFan-In の数値でクラスをランキングして,上位のもののうち,Setter/Getter/Utility クラスを除去した結果がアスペクトの候補としてよさそう,という論文.

Setter/Getter は基本的にシグネチャベースでフィルタしていて,いちおう実装も少しはチェックしているらしい.Utility としては toString などのメソッド名フィルタと,*Utils のようなクラス名ベースのフィルタを使っている.このあたり,少し経験的な手法ではある.

ロギングなどのあちこちにコーディングされた「大きなfootprintを持つ」アスペクトに対しては有効だが,デザインパターンの個別の実装みたいに小さなfootprintのものは見つけられなかったりする.

シンプルなわりには効いているという気はする.false positive も negative も出てくるが,コードクローン分析と組み合わせたりして使おうと考えているみたい.

_ [論文]インタフェース実装のアスペクトへの移行

Paolo Tonella, Mariano Ceccato:Migrating Interface Implementations to Aspects.Proceedings of ICSM2004, pp.220-229.

スライシングのセッションと重なってたのでチェックしないままになっていた論文.

Java で使われる *able インタフェース,呼び出し関係でグループ化したら同じクラスの他のメソッドと一緒には使われないもの,同じクラスの他のメソッドから呼ばれていないので分離しても問題ないもの,などをアスペクトとして分離してみたという話.

Java における「アスペクトっぽいもの」を重点的に取り出してみたら,実は java.util や java.awt などにたくさんその手のクラスが含まれていて,それらをアスペクトに分離するとコード行数で約10%,クラス図上での依存辺の数にして約36%減少した,とかいった実験.

呼び出し関係グラフを作ったときに同じクラス中にあるメソッドなのに同一のクラスタには含まれないものがある,というのが面白いところ.評価としてもクラス間の依存関係なんかを使っているのは今までの単なる行ベースの方法より好感が持てる.

お名前:
E-mail:
右の画像に書かれている文字列を入力してください:
コメント: