netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2002-09-16 古い日記からの変換データ ▲
2003-09-16 古い日記からの変換データ ▲
_ 論文 ▲
AAOS2003 からもうひとつ.
Maximilian Storzer, Jens Krinke, Silvia Breu:Trace Analysis for Aspect Application
以前ざっと見て役に立つのかなーと思って流してたのだが,実はJens Krinke ってコードクローンな研究してる人だったような気がしたり,いくつか気になったのでちゃんと読み直し.
アスペクトの影響を調べるために実行トレースの差分を取ってやろう,というもの.実行トレースを用いる都合上,「たまたまアスペクトが貼り付いていない」場所などは認識できないという問題はあるが,どのメソッドが呼ばれるように/呼ばれないようになった,とか調べることができる.
もちろん,条件はシステムが同じ入力を受け取ること,同じ入力には同じ動作をする(ランダムな振る舞いをしない)こと.
マルチスレッドな場合も,ちゃんとスレッドの区別だけしてれば大丈夫らしい.
システムを改造しても(たとえばアスペクトの抽出をしても)セマンティクスさえ同じなら実行トレースは同じはずだ,と言っているけど,クラス名なんかの変化をどうやって扱う気なんだろう(このあたりは特に記述はない).
アスペクト指向なプログラムにおけるデータフロー解析の研究はまだ十分ではないので,static analysis を支援するのにこういう実行時解析を使いましょう,とも言っている.たしかに,実現は楽かも.
_ 論文 ▲
Analysis of Aspect-Oriented Software (AAOS2003) より:
A. M. Reina, J. Torres, M. Toro:Aspect-Oriented Web Development vs.Non Aspect-Oriented Web Development
Cocoon2 と AspectJ で同じ Web Application を開発して比較したという論文.
比較されているのはユーザ認証と引数チェックだけだが,結果として,・Cocoon2 は XML で制御されているので,簡単に書けるけど 局所性は完全ではない・AspectJ は局所性はうまく行ってるけど,見易さという意味では Cocoon2 にはかなわないという結果となった.Cocoon2 のほうが Domain-Specific だと考えればわりと妥当な結果である.
理想系は「強力な(高い抽象度記述が可能な)AspectJみたいなアスペクトを使ったフレームワークがあること」なんだろうなぁ.分散した(Scattered)記述を管理するためのツールさえあれば,ある程度はうまくいくのだろうけど,
_ Aspect Browser ▲
Aspect Browser: Aspect Emacs and Nebuloushttp://www.cs.ucsd.edu/users/wgg/Software/AB/を試してみる.
grep (正規表現あり)の結果を色づけマーキングしてソースコードを縮小表示するツール.JDK1.3 でないと動かなかったり,画面描画もちょっと怪しかったりするが.
マッチした部分が重なったときに色を組み合わせて表示できないところが,少し物足りない.が,「こんなに同じ行が登場してるよ」とリスト表示してくれる機能は面白い.Eclipse プラグイン化するらしいので,それに伴ってユーザインタフェースがもう少し洗練されたらちゃんと使えるツールになるかも.