[静的解析の設定] タブをクリックし、静的解析とフロー解析を有効化/無効化します。利用できるオプションはコード解析ツールによって異なります。詳細については、ご使用のコード解析ツールのドキュメントを参照してください。
[保存] をクリックして、このタブで加えた変更を保存してください。
詳細設定
以下のオプションを有効化するには [詳細設定] セクションを展開します。
- ルールごとにレポートされる違反数の上限を設定します。
- エンジン ホストで設定される抑制を有効化/無効化します。
- 違反のポイントでルールが抑制された場合に、同等のルールのグループに含まれるすべてのルールの違反に対して自動抑制を有効化/無効化します。
- [グローバル解析ルールをスキップ] を有効にして、グローバル データの収集と使用を防止します (Jtest のみ)。
- DTP の機械学習機能の違反分類をより正確にするのに役立つ詳細なメタデータの送信を有効化/無効化します (Jtest および dotTEST のみ)。
フロー解析詳細設定
[フロー解析詳細設定] セクションを展開して、パフォーマンス、レポートの冗長性、null チェック メソッド パラメータライゼーション、およびチェックするリソースに関連する設定を行います。
パフォーマンスの設定
このセクションを展開して、解析の深さとマシン パフォーマンスに関連するオプションにアクセスします。解析の深さとマシン パフォーマンスに関連するオプションにアクセスするには、このセクションを展開します。
以下のオプションを設定できます。
| インクリメンタル解析 | [インクリメンタル解析] を有効にし、インクリメンタル モードでフロー解析を実行します。インクリメンタル モードは、毎日変化する単一コード ベースで夜間に解析を実行する場合に、その実行時間を削減します。 [インクリメンタル キャッシュの圧縮] を有効にして、キャッシュされた可能性のある不要データを削除する頻度を指定します。 このオプションは C/C++test でのみ使用できます。 |
|---|---|
| 解析の深さ | フロー解析の深さを選択します。深い解析を設定すると、検出数が増えますが、解析速度が低下してメモリ消費が増大することがあります。 |
| タイムアウトの方針 | フロー解析のタイムアウト設定を行います。 [時間] を有効にして、コード中の単一ポイントを解析する際にフロー解析が待機する時間を秒で指定します。 [インストラクション] を有効にして、コード中の単一ポイントを解析する際に許容されるフロー解析インストラクションの最大数を指定します。 [オフ] を有効にしてタイムアウトを無効にします。 |
| ディスクへの解析データのスワップを有効化 | このオプションを有効にすると、解析に必要なデータをフロー解析ツールがディスクに書き込むことができます。解析対象ソース コードの意味モデルをデータが表す大規模プロジェクトを解析する場合に、利用可能なメモリをフロー解析が消費し尽くすのを防止できます。 |
冗長性の設定
このセクションを展開して、レポートに含める情報量を設定できます。
以下の設定オプションを使用できます。
| 原因が特定できない場合は違反をレポートしない | 原因がない違反を除外したい場合は、このオプションを有効にします。このオプションを有効にすると、原因から違反の発生地点までの完全なパスがレポートされます。ただし、複数の原因があるパスの場合、違反の原因はレポートされません。 |
|---|---|
| ポイントごとに 1 つだけ違反をレポートする | このオプションを有効にすると、違反の原因または発生地点が共有される場合に、レポートされる違反の数を制限できます。 |
| パスがインライン アセンブリ コードを経由する違反をレポートしない | パスがインライン アセンブリ コード構造を経由する違反をレポートしないようにするには、このオプションを有効にします。C/C++test のみ。 |
| 解析データ構築の問題をレポートする | 解析データの構築中にフロー解析で問題があった場合に問題をレポートします。 |
Null チェック メソッドの設定
[Null チェック メソッド] セクションを展開して、メソッドに null パラメーターが渡されたときの期待される戻り値を指定します。この方法は、偽陽性を削減するほか、null 変数の戻り値が不明な場合に通常作成される過剰なパスを削減します。この設定は C/C++test では使用できません。
新しいパラメータライゼーションを追加するには、追加 (+) アイコンをクリックします。パラメータライゼーションを削除するには、削除 (x) アイコンをクリックします。
ターミネーターの設定
[ターミネーター] セクションを展開して、アプリケーションの実行を終了させる関数を定義します。この設定は C/C++test でのみ使用できます。
新しいターミネート関数 API を追加するには、追加 (+) アイコンをクリックします。
表示されたフィールドでターミネーターを設定します。詳細については C/C++test のドキュメントを参照してください。
マルチスレッドの設定
[マルチスレッド] セクションを展開して、スレッド間の同期化のための関数を定義したり、すでに定義されたマルチ スレッド関数を有効化/無効化します。ここで指定するオプションは、BD.TRS (スレッドと同期化) カテゴリのルールに影響します。この設定は C/C++test でのみ使用できます。
新しい関数を追加するには、追加 (+) アイコンをクリックします。
名前を指定して関数を設定します。詳細については C/C++test のドキュメントを参照してください。
リソースの設定
どのリソースをリソース ルール (BD.RES カテゴリ) でチェックするかを定義できます。リソース ルールは、このタブで定義され有効にされた全リソースについて、リソースが正しく使用されているかをチェックします。
新しいリソースを追加するには、追加 (+) アイコンをクリックします。
名前を指定してリソースを設定します。
常に解析すべきメソッドの設定
実行パス中で見つかったとき常に解析するメソッドを定義できます。これにより、特定のパスを解析したとき、通常は入らないメソッドを必ず解析するようにできます。
新しいメソッドを追加するには、追加 (+) アイコンをクリックします。
名前を指定してメソッドを設定します。
メソッド パラメーターを汚染する Spring HTTP リクエストのアノテーション設定
メソッドの 1 つ以上のパラメーターを汚染する Spring アノテーションを定義できます (汚染されたデータ ソースのリストが指定され、'Spring http requests' オプションが有効化された BD.SECURITY カテゴリのルールにだけ影響を与えます)。パフォーマンスおよびメソッド アノテーション用のテーブルに分かれています。この設定は Jtest でのみ使用できます。
新しいアノテーションを追加するには、追加 (+) アイコンをクリックします。
名前を指定してアノテーションを設定します。
拡張解析スコープの設定
コード解析を実行する際、フロー解析はテスト対象のソース/ヘッダー ファイルで定義された関数定義を処理します。テスト スコープの外にあるヘッダー ファイルで定義された関数は解析されず、フロー解析はそれらのセマンティクスを認識しません。テスト スコープの外にあるヘッダー ファイルで定義された関数定義の情報をフロー解析が必要とする場合、この設定を行います。この設定は C/C++test でのみ使用できます。
以下の設定を行うことができます。
| 解析対象の外部ファイル | フロー解析の対象とするヘッダー ファイルを絶対パスで指定します。ワイルドカードを使用してパターンを指定します。 |
|---|---|
| 解析対象の外部関数 | フロー解析の対象とする関数を指定します。以下の情報を設定します。
|
コンパイラ固有の設定
コンパイラ固有の引数を定義することができます。この設定は C/C++test でのみ使用できます。
制御フレームワークの置換の設定
[制御フレームワークの置換の設定] セクションを展開して、実行時に挿入/初期化のために使用するアノテーションを指定します。メソッド、フィールド、パラメーター アノテーションのセクションを展開し、カスタマイズ可能なテーブルを表示できます。この設定は Jtest でのみ使用できます。


