プログラム分析と可視化

 実用的な業務システムは、数万から数百万行に及ぶプログラムで実装されています。このような大量のプログラムを管理するための方法の一つに、ソフトウェアの可視化があります。
 プログラム分析と可視化に関しては、下記の技法を研究しています。言語は、業務システム開発で広く使われている、Java、C/C++、JavaScript、および、UML/SysMLなどを対象にしています。

  1. クラスや関数の依存関係を分析し、大規模プログラムの全体構成を把握する技法
  2. プログラムの制御フロー、データ構造、クラス継承、関数や変数の関係など多彩な角度からプログラムを可視化する技法

 下図は、クラスや関数の依存関係を分析し、DSM(Dependency Structure Matrix) と呼ばれる手法により、javax.xml_1.3.4.jar をマトリックス形式で可視化した例です。