netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2005-05-04 [長年日記] ▲
_ [hyCalendar] Towards 1.0.2 ▲
期間予定アイテムの表示順序のソート順序を開始日付+終了日付に加えて,文字列の順序を使うようにした.これで順序が安定化する.また,ヒントウィンドウを自前のに変更したので,二重ポップアップができるようになっただけでなく,ポップアップした文字列からのクリップボードへのコピーなんかもできるようになった.
まだ他に取り込む機能がないかのチェックが必要だし,ドキュメント書く作業なんかもあるので,リリースはもう少し先.
_ [論文] 単体テストの労力とOOPのメトリクスとの相関 ▲
Magiel Bruntink, Arie van Deursen: Predicting Class Testability using Object-Oriented Metrics.
Proceedings of SCAM 2004.
書いたソースからテスト労力の予想をしたいので(レビューなどのタイミングでコードのテストしやすさを調べたいから),クラスから計測可能なメトリクスと,JUnit のテスト用クラスの大きさに関するメトリクス(テストクラスのサイズ,assertメソッドの数)との順位相関を見て労力を予想しようという統計的な調査.
結果としては,サイズ系のメトリクス(フィールド数,メソッド数)が多いとやはりテストも増えるのだが,相関が強いのはクラスの行数,クラスから利用している他のクラス数(Fan-Out)や,直接・間接的に呼び出しているメソッド数の和(Response For Class)あたりだったらしい.
依存しているクラス数が増えると,テストを実行するために必要な準備のコストも上がるというのかと思ったのだが,クラスのサイズと Response For Classが強い相関を持っていたので,他のメソッドをたくさん呼ぶクラスほどクラスのサイズが大きかっただけのよう.なので,「単体テストをしやすくするために,クラスを小さくまとめましょう」という程度のことしか言えてないような気がする.
_ [論文] 実行履歴からの Role/Collaboration の復元 ▲
Tamar Richner and Stephane Ducasse: Using Dynamic Information for the Iterative Recovery of Collaborations and Roles.
Proceedings of ICSM 2002.
輪講で紹介された論文.実行履歴からパターンを認識して,一連のメソッド呼び出しに関わるクラス集合だけを取り出したりする.主にツールを作ってケーススタディしたという感じで,パターン認識部分の方法について詳しい記述がないのが少し残念.1つのクラスの中にデザインパターンの複数の役割が割り当てられている可能性にきちんと言及しているので,引用はすることになるかもしれない.