Understand 3.0の画面
Understand 3.0の画面
[画像のクリックで拡大表示]

 米Scientific Toolworksの「Understand 3.0」は、C/C++やJava、COBOLなどの各種言語で開発されたソフトウエアの構造を可視化するソースコード解析ソフトである。全体のシステム構造から個々のクラス/関数まで、各種の粒度で解析する。大規模で複雑なソフトウエアの構造を素早く把握するのに適しており、100万行のソースコードを数分で解析できるという。

 メイン画面上では、解析対象のソースコードにおける呼び出しや参照、クラスの構成、制御フローなどをグラフィカルに表示する(Microsoft Visio形式でも出力可能)。さらに、個々のエンティティをクリックしてドリルダウンすることで、ソースコードの詳細情報を参照できる。

 コードメトリクスの分析機能も備える。ソースコードの複雑度を、サイクロマティック複雑度、LCOM(結合性の欠如)、DIT(最大継承ツリー)、CBO(結合されたクラスの数)といった70種類のメトリクスを用いて分析できる。分析したメトリクス値は、CSV形式で出力できるほか、マップの大きさと色の濃さで可視化できる。

 解析可能な言語は次の通り。Ada、アセンブリ言語、C/C++、C#、Objective-C/C++、COBOL、FORTRAN、JOVIAL、Java、Pascal、PL/M、Python、VHDL、Web系言語(PHP、HTML、CSS、JavaScript)。

 直近のバージョンアップで、レガシーアプリケーション向けのCOBOLや、iPhoneアプリケーション向けのObjective-C/C++を解析できるようにした。さらに、C/C++の構文解析エンジンを刷新し、以前よりもC++テンプレート、オーバーロード関数、COMクラスを厳密に解析できるようにした。

 また、make/Makefileをトレースすることで、ビルドに必要なファイルやインクルードパス設定、マクロ定義などの情報を収集できるようにしている。また、解析補助機能を強化し、解析時に見つからなかったインクルードファイルを検索して、その場で手動で設定できるようにしている。

Understand 3.0の概要
主な機能ソースコードを解析してソフトウエアの構造を可視化
解析対象言語Ada、アセンブリ言語、C/C++、Objective-C/C++、C#、COBOL、FORTRAN、JOVIAL、Java、Pascal、PL/M、Python、VHDL、Web系言語(PHP、HTML、CSS、JavaScript)
システム形態スタンドアロン
動作環境Windows XP/Vista/7、Windows Server 2003/2008、Linux
価格(税別)■マシン固定ライセンス:1台当たり19万8000円
■同時使用ライセンス:同時1ユーザー当たり39万8000円
発表2012年9月26日
出荷開始2012年9月26日
備考発表/出荷開始時期と価格は、国内販売代理店のテクマトリックスの場合