«前の日記(2003-10-06) 最新 次の日記(2003-10-09)» 編集

netail.net

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

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


2003-10-08 古い日記からの変換データ [長年日記]

_ 論文

The Concept of Dynamic AnalysisESEC/FSE 99, Thomas Ball

頻繁に動作している部分とそうでない部分を明示することでプログラムの分解に役立てる Frequency Spectrum Analysis とテストケースごとにどのあたりが実行されるかを見ることでカバレッジ向上を行う Coverage Concept Analysis を提案している論文.

Introduction での静的解析と動的解析の比較を行っていて,静的解析はプログラムが特定の性質を持つかどうかを判定できるが,動的解析は特定の性質の違反を検出することができる.動的解析は「入力に注目した解析」で静的解析は「プログラムに注目した解析」だとしている.また,これらは,完全性,スコープ,正確性の違いだとしている.

完全性において,動的解析はプログラムを十分な回数を実行する必要があり,静的解析ではありえない実行系列などを排除する必要がある.

スコープについて,静的解析はプログラム中の位置による制約を受けやすい.特に遠距離(異なるモジュール,時間的距離)の依存関係を解析するのは非効率的である場合もある.

正確性については,静的解析は解析を終わらせるために情報の抽象化(ある種の情報損失)が必要となる.動的解析では,プログラム実行のうち必要なドメインにのみ注目することでコストを削減することが容易である.

_ 論文

久々にプログラムスライス関係の論文を読む.

Paolo Tonella:Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis,IEEE Transactions on Software Engineering, Vol.29, No.6, pp.495-509, June (2003)

ある変数に対する計算処理を Decomposition Slice と呼ぶが,Decomposition Slice Graph ではなく Lattice として構造化し複数の変数で共通した計算部分をくくりだす.

影響波及解析自体は,Lattice を使ってチェックされる.ただの Forward Slice と違い,影響を受ける文だけでなく,何の計算に影響を与えるかを示せる点らしい.ちょっと怪しい気もするが.文を「計算」という単位にグループ化できることがLattice の強みらしい.

共有されている部分が Decomposition Slice でない場合(たまたま同一の制御構造などを共有している場合)を,弱い干渉 (Weak Interference) と定義して実験している点が興味深いと言えなくはない.

静的解析で,どこまで正確に解析できるかとか,その解析コストがどの程度か,とかいうあたりの議論がないような気はするが,それにしても,Concept Lattice をちゃんと使っている論文は珍しい.

お名前:
E-mail:
右の画像に書かれている文字列を入力してください:
コメント: