TIPS (最新バージョン)

エディター

  1. ソースコードの日本語コメントが文字化けします。対処方法はありますか?
  2. ソースコード中のエンティティをリンクとして機能させる方法はありますか?
  3. Understandの情報ブラウザーやエンティティフィルターで、変数や関数がグレーの文字で表示され、グラフでは破線の枠で表示されます。ダブルクリックすると、「不明なエンティティを編集できません。」と表示されます。解決する方法はありますか?

グラフ

  1. フローチャート(Control Flow)などのグラフィカルビューは、どのような手順で表示しますか?
  2. フローチャート(Control Flow)上でコメントを表示させる方法はありますか?
  3. UMLシーケンス図で、呼び出し階層を表示する方法はありますか?
  4. 表示したグラフィカルビューが大きすぎるため、見やすくする方法はありますか?
  5. 表示したグラフィカルビューを保存・印刷する方法はありますか?
  6. 表示したグラフィカルビューを編集可能な形式で保存する方法はありますか?
  7. 変更差分のグラフィカルビューを表示する方法はありますか?

自動化

  1. プロジェクト作成やレポートの出力をJenkinsなどのCI環境と連携させて自動化する方法はありますか?
  2. フローチャートなどのグラフィカルビューを一括で出力できますか?
  3. Understand API はどのように実行するのですか?

検索

  1. さまざまなエンティティ(ファイル、関数、変数など)を素早く検索する方法はありますか?
  2. 構造体や共用体など、より細かな条件でエンティティを検索するのに便利な方法はありますか?

解析

  1. C/C++解析の2つの解析モード (Fuzzy/Strict) の違いは何ですか?
  2. C/C++言語で、関数ポインターなどを含む依存関係を表示させる方法はありますか?
  3. C/C++言語で、プリプロセッサ定義に基づく解析ができますか?
  4. C/C++解析で、マクロ定義、インクルード設定を簡単に設定する方法はありますか?
  5. Visual Studio プロジェクトをインポートして解析することはできますか?
  6. Makefileは解析できますか?

メトリクス

  1. どのようなメトリクスの種類(メトリクス名とその意味)が取得できますか?
  2. メトリクス値を視覚的に表示してくれる機能はありますか?
  3. メトリクスの各値に閾値(推奨値)のようなものはありますか?

コードレビュー

  1. ソースコードレビュー時に使える便利な機能はありますか?
  2. デッドコードを検出する方法はありますか?

回答

エディター

1. ソースコードの日本語コメントが文字化けします。対処方法はありますか?

はい。Understandのプロジェクト設定のファイルエンコーディングで設定できます。
詳細は、Understand Blog「Understand のファイルエンコーディング設定」を参照ください。

2. ソースコード中のエンティティをリンクとして機能させる方法はありますか?

はい。エディターでブラウズモードが使用できます。
詳細は、Understand Blog「エディターブラウズモード」、「エディターブラウズモードの挙動を変更する」を参照ください。

3. Understandの情報ブラウザーやエンティティフィルターで、変数や関数がグレーの文字で表示され、グラフでは破線の枠で表示されます。ダブルクリックすると、「不明なエンティティを編集できません。」と表示されます。解決する方法はありますか?

Understandの解析で、グレーの文字で表示されているエンティティは、定義元(Define)が見つからない「未解決のエンティティ」、または、戻り値型・関数パラメーター型が解決できない「未知のエンティティ」を表しています。解決するには、定義元のファイルを解析対象に含める、または定義元ファイルをインクルードパスに追加後、再解析してください。

グラフ


1. フローチャート(Control Flow)などのグラフィカルビューは、どのような手順で表示しますか?

グラフィカルビューは、右クリックメニューなどから簡単にアクセスすることができます。 詳細は、Understand Blog「グラフィカルビューを表示する」を参照ください。

2. フローチャート(Control Flow)上でコメントを表示させる方法はありますか?

はい。グラフオプションで表示させることができます。
詳細は、Understand Blog「グラフィカルビュー | Control Flow, Calls/Called By Graph のコメント表示仕様」を参照ください。

3. UMLシーケンス図で、呼び出し階層を表示する方法はありますか?

はい。UMLシーケンス図で、直接的な呼び出しだけでなく、 呼び出した関数から、さらに呼び出す関数を階層的に表示する方法があります。
詳細は、Understand Blog「UMLシーケンス図による、呼び出し階層の表示方法」を参照ください。

4. 表示したグラフィカルビューが大きすぎるため、見やすくする方法はありますか?

はい。巨大なグラフを見やすくする、いくつかの方法があります。
詳細は、Understand Blog「グラフィカルビューを見やすくする」を参照ください。

5. 表示したグラフィカルビューを保存・印刷する方法はありますか?

はい。グラフは、画像形式(JPG,PNG)やMicrosoft Visio形式で保存、また印刷できます。
詳細は、Understand Blog「グラフィカルビューの操作」を参照ください。

6. 表示したグラフィカルビューを編集可能な形式で保存する方法はありますか?

はい。グラフは、画像形式(JPG,PNG)以外に、編集可能な形式で出力できます。
詳細は、Understand Blog「グラフィカルビューを編集可能な形式で保存する」を参照ください。

7. 変更差分のグラフィカルビューを表示する方法はありますか?

はい。修正前と修正後のコードから作成した2つの Understandプロジェクトを比較し、追加/削除/変更された関数や変数の参照関係の差分をグラフで色分け表示できます。また、差分情報をレポートで表示しリスト出力します。
詳細は、Understand Blog「Understand 5.1 の新機能・改善点 - 差分グラフィカルビュー/差分レポートの追加」、「比較機能を利用した変更差分の確認方法」を参照ください。

自動化


1. プロジェクト作成やレポートの出力をJenkinsなどのCI環境と連携させて自動化する方法はありますか?


はい。undコマンドラインを用いて、プロジェクト作成やプロジェクトの設定変更、プロジェクトレポート出力を実行できます。
詳細は、Understand Blog「und コマンドによる新規プロジェクト作成」、「undコマンドによるプロジェクトの設定情報の操作」、「undコマンドによるプロジェクトの解析の実行と各種レポートの出力」を参照ください。

2. フローチャートなどのグラフィカルビューを一括で出力できますか?


はい。Understand APIを用いたカスタムスクリプトを実行することでグラフを一括で出力できます。
詳細は、Understand Blog「Understand API」を参照ください。

3. Understand API はどのように実行するのですか?


Understand Perl スクリプトの実行は、Understandに付属のuperlコマンドで実行できます。
詳細は、Understand Blog「APIスクリプトを動かすには?」を参照ください。

検索


1. さまざまなエンティティ(ファイル、関数、変数など)を素早く検索する方法はありますか?


はい。エンティティフィルターを利用することで効率よく検索できます。
詳細は、Understand Blog「エンティティフィルターで効率よく検索する」を参照ください。

2. 構造体や共用体など、より細かな条件でエンティティを検索するのに便利な方法はありますか?


エンティティロケーターを用いて、構造体や共用体、ローカル変数のような詳細なエンティティ種類によるフィルターがおこなえます。
詳細は、Understand Blog「エンティティロケーターで検索する」を参照ください。

解析


1. C/C++解析の2つの解析モード (Fuzzy/Strict) の違いは何ですか?


詳細は、Understand Blog「C/C++ 解析の 2 つの解析モード (Fuzzy/Strict)」を参照ください。

2. C/C++言語で、関数ポインターなどを含む依存関係を表示させる方法はありますか?


はい。詳細は、Understand Blog「Understand 5.1 の新機能・改善点 - ポインター解析機能の強化」を参照ください。

3. C/C++言語で、プリプロセッサ定義に基づく解析ができますか?


はい。詳細は、Understand Blog「C言語プリプロセッサ定義に基づく解析」を参照ください。

4. C/C++解析で、マクロ定義、インクルード設定を簡単に設定する方法はありますか?

はい。未解決インクルードファイルと未定義マクロを設定するいくつかの方法があります。
詳細は、Understand Blog「Understand 3.0 の新機能 - 解析補助機能の変更」を参照ください。

その他、各ツールのプロジェクトファイルをインクルードパス、マクロ設定をインポートし、Understandプロジェクトを作成する方法があります。
5. Visual Studio プロジェクトをインポートして解析することはできますか?

はい。Visual Studioプロジェクトファイル(ソリューション、プロジェクト)をインポートして作成することもできます。
詳細は、Understand Blog「Visual Studio プロジェクトファイルのインポート」を参照ください。

6. Makefileは解析できますか?

Understand は、Makefile の解析には対応していませんが、gcc、g++準拠コンパイラの Makefile をトレースし、必要なファイル、インクルードパス、マクロ設定を収集し、その情報から Understand プロジェクトファイルを作成することが可能な「Buildspyツール」が搭載されています。
詳細は、Understand Blog「Buildspyツールの使い方 -Windows(Cygwin)環境-」、「Understand 3.0 の新機能 - Buildspyツール」を参照ください。

メトリクス


1. どのようなメトリクスの種類(メトリクス名とその意味)が取得できますか?


Cyclomatic複雑度や、コード行数、クラス結合度などの100種類に及ぶソフトウェアメトリクスを計測できます。
メトリクスの一覧とその詳細については、「メトリクスの一覧」を参照ください。

2. メトリクス値を視覚的に表示してくれる機能はありますか?


はい。メトリクスツリーマップ機能があります。
詳細は、Understand Blog「メトリクスツリーマップ」、「Understand 3.0 新機能 - メトリクスツリーマップ」を参照ください。

3. メトリクスの各値に閾値(推奨値)のようなものはありますか?


Understandでは特にメトリクスの閾値は設けられていませんのが、いくつかのメトリクスについては、一般的な閾値はありますので、ご参考値をご案内いたします。
資料もございますので、Scitools製品カスタマーセンターまでご連絡ください。

コードレビュー


1. ソースコードレビュー時に使える便利な機能はありますか?


はい。アノテーション機能により、ソースコードに変更を加えることなく、任意のエンティティに対してUnderstand上で表示されるコメントを付けることができます。
詳細は、Understand Blog「Understand 3.0 の新機能 - アノテーション」、「Understand 4.0 マイナーバージョンアップ版の改善点 - アノテーションの印刷・共有」を参照ください。

2. デッドコードを検出する方法はありますか?


未使用関数や未使用変数を検出することができるため、関数や変数単位の粗い粒度ではデッドコードを検出することができます。
詳細は、Understand Blog「デッドコードを検出する」を参照ください。

ソースコード解析ツール Understandに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
scitools-info@techmatrix.co.jp

CONTACT

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。