netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-04-29 古い日記からの変換データ ▲
_ 論文 ▲
H.A.Muller, S.R.Tilley, M.A.Orgun, B.D.Corrie, N.H.Madhavji:A Reverse Engineering Environment Based on Spatial and Visual Software Interconnection Models.Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments, pp.88-98, 1992.
Rigi というプログラム理解のためのビューアを作った,という話.基本はコンポーネントのグラフ化とその操作.
・Strongly Connected Components の識別
・コンポーネントの共通クライアントの識別
・複数のコンポーネントから共通で利用されているコンポーネントの識別
・コンポーネントの近傍の識別
・コンポーネントが変更された場合の影響波及解析
・全体図の表示
・関係の一部だけを抽出して表示
・中心となるコンポーネントの表示
・コンポーネントの密集の識別
・接続されていないコンポーネントの識別
・モジュール品質の表示
といった操作を適用する.説明では,基本はコールグラフから開始するよう.また,共通のデータを操作する関数群を固めて表示とか,密接に関連しあった関数群ごとにグループ化して相互接続辺だけを見せるとか,そういった操作によって,開発者が効果的にプログラム理解を進められる,らしい.
依存関係の検出と,そこからの抽象化を別フェイズとして切り分けている.これは次の文献からの引用.R.S. Arnold. Tutorial on software reengineering.ICSM 1990, pp.12-19, 1990.基本はコンポーネント間の依存関係をグラフ上で整理してサブシステム抽出して,ということになるらしい.