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

netail.net

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

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


2005-06-06 [長年日記]

_ [OUCC] MOUSUPER

昔(7年くらい前)に購入して人にあげたままだったテンキー付きマウス MOUSUPER を返してもらった.いらないので部室に放置する.

_ [ツール] SCoPE の続き

SCoPE の Web ページで紹介されている,メソッド名に正規表現がマッチするかどうかでアドバイスの実行を決定するアスペクトを貼り付けて,次のような感じのコードで時間計測してみた.AspectJのajcコンパイラとの比較で,コンパイル時間は 2.3 sec → 9.3 sec と増加したものの,実行時間は 9.8 sec → 4.2 sec と削減.単に正規表現の評価比率がプログラムの中身に対して大きいせいとはいえ,かなりの効果を見せた.

// サンプル(動かしたものはもうちょっとだけ複雑)
for (int i=0; i<100000; ++i) {
  test(); // 中身は System.out に数字を書き出すだけ
}

実行時間の削減よりも,declare warning などに与える式として,静的に入力が決定可能な関数なら何でも使えるようになるのが効果として大きいような気がする.コード解析ツール実行 → 情報をリテラルとして定義したソースを生成 → declare warning としてウィーブするとか.そのうち,楽しい使い方が出てくる,かも?

_ [論文] 実行時にテスト用コードを付けたり外したり

Jonathan Misurda, James A. Clause, Juliya l. Reed, Bruce R. Childers, Mary Lou Soffa: Demand-Driven Structural Testing with Dynamic Instrumentation.

Proceedings of International Coneference on Software Engineering, pp.156-165, May 2005.

テスト実行時には,カバレッジなどの計測用コードを埋め込んでプログラムを実行する.そのとき,必要になってから計測用コードを埋め込んで,不要になったら(たとえば既にカバレッジを満たしたコードからは)計測用コードを取り外す,というテストツールを構築して実験している論文.

通常の計測に比べるとずっと高速であるという結果は出している.付けて外してを繰り返していくと,その時点でどんなプログラムが実行されてるのかよく分からなくなるので怖いけれど,それはアスペクト指向系のプログラミング環境だって似たようなものか.

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