解析時間を短縮する方法について

Agile+ Reliefの技術情報はこちら

解析時間を短縮する方法を教えてください。
以下の方法で、解析時間を短縮できます。

  • 検査指摘設定で検出対象の指摘を絞る
    検査指摘定義ファイルに、指摘したい番号やグループだけを設定してください。
    例えば、障害の可能性のあるaグループの指摘(約100個)だけを検出対象にした場合、通常の解析よりも1ソースファイル当たり30%~60%解析時間を短縮できます。
    検査指摘設定の詳細な手順については、下記のヘルプトピックを参照してください。
    [PGReliefを使う]-[高度な使い方]-[検査指摘を設定する]
    なお、PGRelief 2009以降は、デフォルトの設定がaグループの指摘のみで解析を行う設定(省略値)となっていますので、そのままご利用ください。

  • ファイル間解析を行わない
    「設定」-「システムオプションの設定」メニューで、「解析処理の設定」を選択し、「全体解析時にファイル間の解析を行わない」をチェックしてください。全体解析時に単ファイル解析のみ行われ、ファイル間解析は行われませんので、解析時間を短縮できます。
    通常、ファイル間解析は全体の解析時間の1/5(5分の1)の割合を占めますが、ある一定量の資産(100Kステップ程度)を超えると、ファイル間解析の占める割合が高くなります。したがって、ファイル間解析を行わない場合、資産が大きいほど解析時間を短縮できます。
    ファイル間解析は、グローバル変数の定義や関数呼出し処理に関する修正が入った場合にのみ行ってください。グローバル変数の重複定義や関数呼出し時の引数の型の整合性をチェックできます。

  • 検査する必要のないインクルードファイルのパスは「標準インクルード」に設定する
    「標準インクルード」として設定されたインクルードファイルは、指摘詳細説明書「1.2 指摘一覧」のリスト中の備考欄に「出」マークが記載されていない指摘を検査対象にしていないため、「私用インクルード」に設定した場合よりも解析時間を短縮できます。
    コンパイラ提供のインクルードファイルやライブラリのインクルードファイルなど、検査する必要のないインクルードファイルのパスは、「私用インクルード」ではなく「標準インクルード」として設定してください。インクルードファイルのパスの設定は、「設定」-「プロジェクト固有オプションの設定」メニューの「インクルード設定」で行います。

  • プロジェクトを格納するディレクトリをローカルディスクに配置する
    解析結果はプロジェクトディレクトリに作成されます。プロジェクトディレクトリをローカルディスクに配置すると、解析結果がローカルディスクに作成されるため、解析時間を短縮できます。

  • プリコンパイルヘッダ機能を使う
    「設定」-「プロジェクト固有オプションの設定」メニューで、「プリコンパイルヘッダ設定」を選択し、「利用する」をチェックしてください。

  • コマンドマルチ実行機能を使う (PGRelief 2014以降のバージョンをお使いの場合)
    環境変数”PGR_PARALLEL_ANALYZE”をONに設定して、コマンドマルチ実行機能を有効にして使います。
    コマンドマルチ実行機能(2014~)の使用例
    なお、GUIでは実行できません。
製品・サービス情報
対象製品Agile+ Relief C/C++
PGRelief C/C++
言語C/C++
アンサー種別 解析編
このページの先頭へ