«前の日(07-30) 最新 次の日(08-01)» 追記

netail.net

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

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


2003-07-31 古い日記からの変換データ

_ activemail

研究室旅行前ということで,Activemail のモバイル設定を使って携帯電話から接続可能なパスワードを設定.まあ,実際にはあまり見ることもないだろうが.


2004-07-31 古い日記からの変換データ

_ [論文] アスペクト干渉の検出

Remi Douence, Pascal Fradet, Mario Sudholt:Deetction and resolution of aspect interactions.Technical Report, INRIA, No.4435, 2002.

AOSD2004 で出ていた論文の前の話みたい.アスペクトの干渉についての研究で,あるアスペクトと別のアスペクトが同一の Join Point には決してマッチしないときアスペクトは強独立で,また対象のプログラムにおいて共通のJoin Pointが存在しないとき独立である,といっている.

アスペクトが状態を持つ場合の拡張がAOSDの論文ぽい.

アスペクト同士がデータ依存関係を持ってしまう場合などは考慮していない様子.難しいところだけれど.

_ [論文] モジュール単位とクラス単位のビューの併用環境

Doug Janzen and Kris De Volder:Programming With Crosscutting Effective Views.Proceedings of 18th European Conference onObject-Oriented Programming (ECOOP 2004), pp.195-218,Oslo, Norway, June 14-18, 2004.

異なるクラスに分散した一つの機能を見るためのモジュールビューと,クラス単位でどんなモジュールに関与している機能があるか見ることができるクラスビューとを行き来して,作業ごとに適切な環境で作業するべきだ,という論文.プロトタイプではデータベース上にソースコードを置いて,仮想ソースファイルとしてユーザに提示するらしい.

アスペクトの記述内容が与えている影響などもクラス上に表示されたら便利でもあるし,またクラスに分散した機能をアスペクトかのように見る機能はFEATなどで提案されているがそれなりに便利そう.

ただ,理想的にはそうだと分かっていても,実装が伴わないとみんな納得してくれなさそうではあるが.このような複数のビューを行き来することが開発効率をどのくらい向上するかなど,疑問というか研究としての発展性としては気になるところ.

_ [論文] テストケースの実行履歴に基づく分類

William Dickinson, David Leon, Andy Podgurski:Finding Failures by Cluster Analysis of Execution Profiles.Proceedings of the 23rd International Conference onSoftware Engineering, pp.339-348, Toronto, Ontario, Canada, May 2001.

多数のテストケースから,バグ発見に効果的なテストケースを抽出するための手法.個々のテストケースの実行プロファイル(この論文ではどの関数からどの関数が何回呼ばれたかのリスト)をもとにクラスタを構築し,各クラスタから代表者を選び出すことでバグ発見に効果的なテストケースを選び出す.

各クラスタリング手法(使っている類似度の基準)とクラスタからの代表者の選択方法(各クラスタから1つなのか,エラーとなるような実行履歴を持つクラスタから多めに選ぶか)を変えて実験をしていて,呼び出し回数を単純に正規化した方法がヒストグラムなどよりも効果があり,エラーとなる実行履歴を持つクラスタから多めにテストケースを選ぶ手法だとだいたい30%のテストケースを選んだだけで90%のバグをカバーできたらしい.

テストケースのうち要らないものを減らしたりはできるかもしれないが,テストケース生成時に実行プロファイル結果が予想できないと使いにくかったりする?という気がする.プロファイル取ってる時点で実行してるわけだし.

_ [論文] テストケースの選択方法

William Dickinson, David Leon, Andy Podgurski:Pursuing Failure:The Distribution of Program Failures in a Profile Space.Proceedings of the 8th European Software EngineeringConference held jointly with 9th ACM SIGSOFT InternationalSymposium on Foundations of Software Engineering 2001,(ESEC/FSE 2001), pp.246-255, Vienna, Austria, September 10-14, 2001.

ICSEの続きの話っぽい論文.エラーが見つかったテストケースと同じクラスタから別のテストケースを選び出すとき,クラスタ全体から適当に選ぶより,プロファイル結果が近いものを選び出したほうが別のバグ発見ができる場合がある,ということが示されている.エラーのある実行と成功した実行は大きく離れていて,エラー同士はある程度かたまる傾向にあるらしい.

_ [hyCalendar] 0.8.3 リリース

微妙に間が空いてしまったが,hyCalendar 0.8.3 リリース.

今回の更新は・日付メモからはみ出す文字列の折り返しをオプションとして追加.・印刷コンポーネントを最新版にした (Windows 98 関連でバグが直っているらしい)

TODO などの項目がはみ出して嫌だーという人や印刷時に項目がはみ出して悔しい人向け.期間予定だけは,自動位置調整の都合上,折り返せなかったりと微妙な条件は付いているが,たいていの人には十分なはず.逆に,たいした機能でもないので,使わない人はバージョンアップする意味はあまりない.


2005-07-31

_ [ツール] WinSCPのスクリプティング機能

hyCalendarのファイルをダウンロード→編集→アップロードする一連の操作が自動化できないかなーと思ってWinSCPが持つ自動化のための /script オプションを色々調べているのだが,/console モードはコマンドプロンプトのウィンドウが別に立ち上がるので,Poderosaからスクリプトを起動すると,途中のパスフレーズ入力が受け取れなくてうまく実行できないらしい.

HTTP とか FTP なら Delphi に付属してた Indy コンポーネントで直接喋ればいいのだが,SCP 専用のお手軽そうなコンポーネントMySCPは開発ライセンス1個$68.再配布自由で,しかもメソッドの使い方が簡単なので,購入をいちおう検討してみることにする.


2006-07-31

_ [近況] 今日も講演を聞いてきた

Thomas Zimmermann という人が,今度のASEで発表する内容とかを話してくれた.この人は,去年のFSEではCVS履歴から「Aを追加してる人は同時にBも追加している」という情報を集めてきて,パターン分析しようというのを発表してた.

今度の手法は,アスペクトマイニング.「どこでどのメソッドを呼び出しているか」の関係を呼び出し側を縦軸,呼び出し先を横軸にとってチェックをつけていく.concept anlaysis を使って縦長の長方形になる部分(2〜3個程度のメソッド集合が,たくさんの場所で呼び出されているケース)を発見すればそれはアスペクトの候補だろう,としている.fan-in analysis の拡張といえる(?)

この人のアプローチで面白いと思ったのは,ロギングのような横断的関心事は「同時に複数個所に配置される」,IteratorのhasNextとnextのようなメソッドペアは「一度に一箇所ずつ増えていく」という仮定.これらの違いをCVS履歴から区別しようとしている.「一度にたくさんの箇所に呼び出しが追加されているもののほうがアスペクトっぽい」というメトリクスを定義しているようで,それをランキングに使った結果,lock/unlock ペアとか,意味のありそうなものが上位に出てきているらしい.

この人は,「データ抽出タイミングと,出てきたパターンのランキング手法とのどちらで頑張るかという選択肢があるが,ランキング側に力を入れている」らしい.だから,メソッド呼び出し対象のエイリアス解析とか,その辺はコストかけず適当に,という感じらしい.

メトリクスのちゃんとした定義とか,CVSから取ってきたデータと最新ソースのデータの取り扱いとか,ちゃんと論文が出てから確認したいところ.


2009-07-31

_ [hyCalendar][お知らせ] hyCalendar 1.6.3 リリース

今回は修正1件だけです.掲示板で指摘をいただきました,日付メモを編集する領域の背景色が白いままで,日付の文字フォント変えたときに文字が見えなくなるという問題に対処しました.

カレンダー領域の背景色をそのまま使うようにしました.背景を黒く,日付メモの色を白に近い色にしている人は更新してご利用ください.該当しない人には何も変化はありませんので,わざわざ更新しなくとも大丈夫です.