netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-07-06 古い日記からの変換データ [長年日記] ▲
2004-07-04 古い日記からの変換データ [長年日記] ▲
_ [hyCalendar] 0.8.0機能セット ▲
hyCalendar の 0.8 向け実装を着々と進行中.
修正事項は次の通り.
・キーワード検索として,AND/OR 検索機能を追加.
・同一ファイルを2つのウィンドウで開こうとしたときの動作の一部を修正.
・日付変換の関数をロケールに頼らないように修正.
・日付数字と休日名の表示フォントが分離.
・ハイパーリンクされる URL 文字列の長さの128文字制限を解除.
・ポップアップ文字列を時間で非表示にしないオプションを追加.
・フリーメモに横スクロールバーを追加. ワードラップ(行の自動折り返し)が有効だと ファイル保存時に行が分割されてしまうのでそれを回避.
・色ペイントツールバーを導入. とりあえずセルの背景および日付数字のところだけ 着色できるようにしてみた. インタフェースは,多少,試験的.
まだペイントツールバーの情報保存機能が未実装.ツールバーの追加やオプション設定の追加などで設定ダイアログなども項目が一部変わったので,ヘルプファイルも大幅に更新する必要があり,リリースするのはもう少し先になりそう.いちおう宣言した手前,今週末までには出したいところだが.
2004-07-02 古い日記からの変換データ [長年日記] ▲
2004-06-30 古い日記からの変換データ [長年日記] ▲
_ [論文]欠陥の原因として疑わしい文の可視化 ▲
James A. Jones , Mary Jean Harrold, John Stasko:Visualization of Test Information to Assist Fault Localization.Proceedings of ICSE 2002,pp.467-477, Orlando, Florida, May 2002.
ICSE2004 の Doctoral Paper で出ていたもの の Full paper バージョン.2年前のものだが,内容としてはこちらのほうが充実している.
ある文 s について,その文が実行された回数が多いほど色を明るくし,そのうち失敗したテストケースが多いほど色を赤くしてソースコードのビューを作る.
で,結果としては,テストケースを準備することで,疑わしいレベルが高いものにバグが含まれていたらしい.
たまに,バグがあるけれど緑色(安全)な方向に振られていたものもあったようなので,そう簡単に実用というわけにはいかないかもしれないが.プログラムスライシングなどと組み合わせて,バグがないのに赤色に振られたものをチェックするとか,future work に色々書いている.
パスしたテストケースで実行された文の集合 P と失敗したテストケースで実行された文の集合 F で,F⊃P である(Pに含まれずFに含まれる文が1つ以上ある)ことが前提条件になる.また,実験結果ではだいたい1〜2割程度の文に絞っていたが,プログラムスライスの場合と同様,その結果が十分小さいと言えるのかどうかについては不明.
2004-06-28 古い日記からの変換データ [長年日記] ▲
_ [hyCalendar]Y2K問題? ▲
hyCalendar で特定の環境で holidays.txt (休日情報)が読み込めなかったり,保存したファイルが開けなかったりする問題が発生している.
どうも,ロケール情報が原因っぽい.イギリスでファイルが読めなかったのはほぼ確実にロケールが問題で,もう一つ,Windows バージョンによる問題のほうはShortDateFormat (Windows ロケールから自動設定される)が違うことが原因である可能性が出てきた.
試せる環境が少ない(稼動している古い環境が少ない)が,調べてみる価値は高そう.
2004-06-24 古い日記からの変換データ [長年日記] ▲
_ [Java]例外をめぐる議論 ▲
IBM developerWorks の例外に関する議論の話.面白い話なので,忘れないようにメモ.http://ibm.com/jp/developerworks/java/040618/j_j-jtp05254.html
チェック例外がメソッドシグネチャに与える影響はやっぱり嫌われるらしい.アスペクトを使って例外送出&例外処理,というのがWormhole パターンの逆みたいで面白そうではあるのだが.
_ [論文]データ構造の一貫性チェック ▲
Brian Demsky, Cristian Cadar, Daniel Roy, Martin Rinard:Efficient Specification-Assisted Error Localization.Proceedings of Second International Workshop on Dynamic Analysis (WODA2004), in conjunction with ICSE 2004,pp.60-67, Edinburgh, Scotland, UK, 25 May, 2004.
データ構造の仕様・制約を記述できるようにする言語の提案.いわゆる表明では,その時点での局所的な制約しかチェックできないので,データ構造が壊れた後もそのまま表明を通過する恐れがあるので,このような仕組みが有効な場面がある,らしい.
加えて,仕様チェック処理のコードの最適化についても色々言及している.実行速度が遅くなるようでは使い物にならない,という実用指向な立場の人たちのよう.
_ [論文]80%のバグは20%のファイルに ▲
Thomas J. Ostrand, Elaine J. Weyuker, Robert M. Bell:Using Static Analysis to Determine Where to Focus Dynamic Testing Effort.Proceedings of Second International Workshop on Dynamic Analysis (WODA2004), in conjunction with ICSE 2004,pp.1-8, Edinburgh, Scotland, UK, 25 May, 2004.
統計的にバグのある確率の高いファイルを選んでいくと20%のファイルで80%くらいのバグが捕まえられます,という面白い実験的論文.
ファイルの種類によるバグ密度ではsh, sql, html, java, perl, c などのファイルを比較しているがmakefile や sh, sql が行数に対するエラー数が多いらしい.その他,LOCなどの値と過去のバグ履歴情報を使うらしい.
コストの高い解析手法も20%のファイルに集中すればそんなにコストが高くない,かもしれない.
_ [論文]Reactive System 監視用コードの自動生成 ▲
Mikhail Auguston, Mark Trakhtenbrot:Run Time Monitoring of Reactive System Models.Proceedings of Second International Workshop on Dynamic Analysis (WODA2004), in conjunction with ICSE 2004,pp.68-75, Edinburgh, Scotland, UK, 25 May, 2004.
Reactive System は通常ステートチャートでモデル化されるが,記述された Assertion に対して,実行時にそれを検証する処理を自動生成しましょう,といったタイプの研究.
使えるのは,取りうる状態列の正規表現記述と,ALWAYS,EVENTUALLY,UNTILなどの時間に関する表明.主には UML 上で使うことを想定しているようなので,一般のプログラムとの状態対応付けさえうまくできれば色々使えそうな感じではある.