netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-08-03 古い日記からの変換データ [長年日記] ▲
_ [論文]実行経歴の特徴抽出 ▲
M. J. Harrold, G. Rothermel, K. Sayre, R. Wu, L. Yi:An Empirical Investigation of the Relationship Between Fault-Revealing Test Behavior and Differences in Program Spectra.Journal of Software Testing, Verification, and ReliabilityVol.10, No.3, pp.171-194, September, 2000.
プログラムの実行系列から,どのパスを通ったか,各ブランチでどの経路を何回ずつ選んだか,といった実行系列の特徴を取り出そうという試み.
なんか振る舞いが少しでも違うプログラムだとけっこう違う値には変わるみたい.ただ,変わったからといってどうだというのか,というのがある.使用法としては,実験的にソフトウェアのバグがどの特徴と関連するかを調べるということになるのだろうか.
いまいち役立つのかどうか不明.
_ [論文]実行パスへのID割り当て ▲
The Use of Program Profiling for Software Maintenance with Applications to the Year 2000 Problem.Proceedings of the 6th European Software Engineering Conference held jointly with the 5th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE97), pp.432-449, Zurich, Switzerland, September, 1997.
2000年問題に対処するために(それ以外にも使えるが)各テストケースがプログラムの実行パスのどこを通ったかプロファイルする,という話.
実行パスの各分岐点に,それが二分決定木であるかのように,選んだ経路に応じた数値加算を埋め込んで,終点まで到着した時点でパスのIDが得られるようにする.
あとは,テストケースごとに数値が出てくるので,それをスペクトルのように並べて比較したりとかして問題のパスを特定したりする.
_ [論文]依存関係のテスト容易性への影響 ▲
Stefan Jungmayr:Identifying Test-Critical Dependencies.Proceedings of the 18th International Conference on Software Maintenance (ICSM 2002), pp.404-413,Montreal, Quebec, Canada, 2002.
テストを難しくする要素として,コンポーネント間の依存関係があるが,ある依存関係を取り除いたときの依存関係のメトリクスの減少度合いを比較し,減少が大きいものを Test-Critical な依存関係として認識しよう,というもの.
依存関係のメトリクスとしては,この論文では各コンポーネントが直接あるいは推移的に依存するコンポーネントの平均個数 ACD を使っている.
実際,ACDを減少させる度合いで上位の10%くらいの依存関係を取り除くと ACD の値は半分くらいまで落ちたりする.このような依存関係の要因は,主にデザイン上の悪い決定,GUI上でのウィンドウ間の遷移の実装,などだったらしい.ACD は結合度メトリクスCBOなどとは相関が少なく,CBOは実はテスト容易性とは関係があまりないのでは,とも言っている.
設計時に,このようなテスト容易性にかかわる依存関係を考慮して,設計を考え直すことで,テスト容易性を少しは向上できるかもしれない.