«前の日(06-01) 最新 次の日(06-03)» 追記

netail.net

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

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


2003-06-02 古い日記からの変換データ

_ パターン

プログラム課題に混入したい典型的なバグの例を探していたら,こんなのを見つけてしまった.こんなのを集めてる人がいるんだなぁ,と感心.役立つかどうかは不明だが.

バグパターン http://homepage1.nifty.com/fujiwo/develop/oo/dbgptn.html

デバッグパターン http://monoki.fc2web.com/diary/txt/computer/debugpatern.html

_ OO2003

論文の校正ゲラを確認し終わったところで,今度は OO2003 の採録通知が届いた.日本語の論文だけは何とか処理できた,というところか.

_ Java

某所で公開していた研究用ツールに,Sun JDK のソースが微妙に混入したままになってたことに気付いて,あわてて修正.

HashMap のソースをそのまま引き継いでたので,パフォーマンスは格段に落ちるのだが,(たぶん)安全な実装に変更した.コレクションまわりのバグがひどい結果になることは分かっているので,今度,テストセットを作って集中的にテストしてみることにする.


2004-06-02 古い日記からの変換データ

_ AspectJ

AspectJ のサイトがなぜ shizuoka.ac.jp から見られているのだろう……と思っていたら研究室の輪講資料の参考サイトとしてリンクされていたらしい.アクセス解析から判明.

さすがに直接リンクするのも悪いような気がするので置いておくが,輪講用の情報が外部から直接アクセスできていいのかしら…….

_ 授業

院生相手のソフトウェア開発論にて,Eclipse プラグインもろもろの話をする.今回の課題は,プラグインを作るとしたらどうするか考える,またはプラグインを適当に使ってみて報告.次回は JUnit なので話は盛りだくさん……かも?

授業で出す都合で集めた資料にあった Eclipse 関連ネタとしては,My Own Shopping Cart プラグイン.http://www.myownshoppingcart.com/index.html

通称 Amazon perspective を追加して,Eclipse から商品の検索・ショッピングができる."Check Out" を選ぶと,ブラウザを立ち上げて Amazon.com の決済直前(カートの中身確認してるところ)に移動する.Eclipse プラグインは IRC,Instant Messanger,ほか色々あるようなので,「何でも Emacs で」のノリに近い.GUI が許されるぶん範囲も広いし.

この種の Entertainment カテゴリ(www.eclipse-plugins.info分類)のプラグインは Eclipse 3.0M8,M9 あたりの新しい stable でもちゃんと動くとテストされてたりするので,こういう人たちの熱意ってすごいんだろうなー.


2005-06-02

_ [Java] XML操作

XMLファイルを手軽に読み書きする方法を探してたら,XML Data Binding Resourcesというページを発見.ざっと見た限りでは,XMLの好きな要素とJavaクラスのメソッドを任意に対応付けられるCastorがかなりよさそう.XMLの構造がまだ固まってない間でも,マッピングだけ変えたらクラス側が影響を受けないのが嬉しい.

_ [論文] 動的影響波及解析

Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold: Efficient and Precise Dynamic Impact Analysis Using Execute-After Sequences.

Proceedings of International Conference of Software Engineering 2005, pp.432-441, May 2005.

輪講で紹介した論文.あるメソッドAが実行された後に実行された(returnで戻った先含む)メソッドすべてはAに影響を受ける,という基準での動的な影響波及解析の方法.各メソッドが最初に実行された時間と最後に実行された時間だけを覚えておくことで,低コストで解析を実現している.

シーケンス図上で影響を受けた部分を図示するといったデバッグ用途では使えそう.

しかし,影響波及と言われて想像する回帰テストの範囲の特定などには使えなさそう.テストしないと計測できないし,テストケースが揃わなかったら取りこぼしが起きる.影響波及解析という名前でなければあまり気にしないのかもしれないが.

_ [論文] クラスとアスペクトを1つにしたclasspects

Hridesh Rajan, Kevin J. Sullivan: Classpects: Unifying Aspect- and Object-Oriented Language Design.

Proceedings of International Conference on Software Engineering 2005, pp.59-68.

クラスとアスペクトという別々のモジュール単位ではなく1個のモジュール単位に統一しようという意欲的だけれど怪しい論文.

ポイントカットに関連付けられるアドバイスをメソッドに限定しているので,クラスが通常のメソッドと,特定のJoin Pointsに反応するイベントハンドラを両方持った形になる.アドバイスの本体はメソッドとして実装されるので,オーバーライドなどは簡単に実現できる. アスペクト自体がインスタンスとして明確に管理されることになるので,アスペクトに貼りつく階層的なアスペクトは定義しやすそう.Java でのイベントリスナのような相互接続の仕組みが不要になるという利点もある.

そのかわり,クラスとアスペクトの区別がないので,new Logging(obj)といったコンストラクタ呼び出し(=アドバイスの接続)がobjの機能を変更するかもしれない,ということになるので,開発者の負担は上がりそうな気が.


2006-06-02

_ [VolumeDeskbar][お知らせ] VolumeDeskbar 1.0.9 リリース

タスクバーを縦方向にしても,ツールバーは水平方向で表示したい人向けのオプションと,ただの左クリックだけでは音量を変更しないオプションが増えました.

現在の機能で既に満足されている場合,あまりアップデートする意味はないかもしれません.

さすがに水平方向表示は,ちょっと無理していて,横幅は可変ではありません.「ツールバーの最小幅」オプションで設定された値をそのまま水平方向の幅として採用しています.

VARIABLEHEIGHTを使えば良いと思われるかもしれませんが,描画時,透過色がうまく使えず,音量バーの外側の領域が灰色(通常のツールバーの背景色)で染まってしまうのでやめました.

操作体系まわりの改造は,まだかなり悩んでいますので,今回はとりあえずオプション1個だけの対応にとどめてあります.アイディアをお持ちの方は,ぜひお聞かせください.