netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2005-05-10 [長年日記] ▲
_ [work]査読 ▲
査読した結果を一度整理するために査読報告書のテンプレートを見ようとしたら,実は手元にないこと発覚.連絡して送ってもらう.最初に連絡をもらったときに,添付ファイルの数が多かったので見落としていた.
_ [hyCalendar] 1.1.0 リリース ▲
マニュアル更新中に見つけたバグもつぶしたのでリリース.あとはVectorの人に連絡するだけ.
2005-05-09 [長年日記] ▲
_ Python Challenge ▲
Python Challengeというのを教えられたので,Python を使ってみることにした.最初何なのかまったく分からなかったが,書かれたお題の答えの文字列をスクリプト書いて計算して,それに + ".html" を付けたページに移動すれば OK というものらしい.
Web で拾った Python のサンプルコードで構文を適当に把握して,プログラムリファレンスとライブラリリファレンスを見ながら頑張ってみたら,stringやlistの操作が "Sequence" という名前でまとめられているのに気づかなくて苦戦してしまった. あんまり時間をこれに割くわけにはいかないが,時間が空いたときにちょこちょこと進めてみることにする.
2005-05-08 [長年日記] ▲
_ [hyCalendar] Towards 1.1 ▲
参照ファイルの表示・非表示を切り替えられるようにしてみた.ついでに,印刷まわりのバグ修正.
次は1.0.2 にしようと思ってたのだが,参照ファイルの表示・非表示を格納するためにファイル形式が少しだけ変わってしまったので,バージョンは1.1.0とする.
機能追加はとりあえず一段落したので,マニュアルの修正作業に入る.4月予定だったものが既に5月にずれ込んでいるので,早いうちにリリースしたいところ.とりあえず実行ファイルだけ先行公開.
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つのクラスの中にデザインパターンの複数の役割が割り当てられている可能性にきちんと言及しているので,引用はすることになるかもしれない.