Understand 5の新機能・改善点
関数ポインターによる関数の呼び出しやポインター変数のアドレス操作の解析機能を強化
C/C++(Strict)モードで、関数ポインターによる関数の呼び出しやポインター変数のアドレス操作など、ポインター経由の依存関係の解析がサポートされました。これらの依存関係は、Callsグラフなどのグラフィカルビューでも表示できます。
【解析対象のポインター経由の操作(抜粋)】
- 関数ポインターによる関数の呼び出し
- 関数テーブル(ジャンプテーブル)
- ポインター変数のアドレス操作
- コールバック関数
- ダブルポインタ
差分グラフィカルビュー / レポートの追加
修正前と修正後のコードから作成した2つの Understandプロジェクトを比較し、追加/削除された関数や変数の参照関係の差分を抽出。差分を色分け表示したグラフと差分のリストが出力されます。【差分グラフ・リストの種類】
- Butterfly Compare:追加/削除された関数の呼び出し関係の差分グラフ
- Object References Compare:変数の参照関係の差分グラフ
- Changed Entities:ファイルや関数、変数などの差分レポート
UML Sequence DiagramやControl Flowといったグラフィカルビュー機能の拡張
既存のグラフィカルビューが拡張されました。- UML Sequence Diagram(シーケンス図):
クラス/ファイル単位での表示に加え、アーキテクチャの単位での表示がサポートされました。 これにより、ディレクトリやモジュールの単位で表示できるようになりました。
- Control Flow(フローチャート):
分岐などの条件文のみを表示するオプションが追加されました。これにより、関数の条件構造に注目したフローを確認しやすくなりました。
また、これまで追加のプラグインとして提供されていた以下のグラフが、標準機能として提供されるようになり、Understand インストール後、すぐに利用できるようになりました。
【追加されたグラフ】
- Object References
- Object Refs with CalledBy
- Calls with Global Objects
サポート言語の拡張とインポートできる Visual Studioプロジェクトの拡充
TypeScript (*.ts, *.tsx)の解析がサポートされました。また、Java 9、Java 10、C# 7.2、PHP 7.0、PHP 7.1がサポートされました。また、Visual Studio 2017(C#/C++)プロジェクトのインポートとVisual Studio 2015(VB.NET)プロジェクトのインポートに対応しました。プロジェクト設定のインポート/エクスポート機能の追加
Understand GUIから、プロジェクト設定をインポート/エクスポートできるようになりました。これにより、異なるプロジェクト間での、各種解析オプションの設定の統一/共通化がおこないやすくなりました本件についてお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- scitools-info@techmatrix.co.jp