このセクションの内容

パターンベース解析

パターンベース解析は、CWE や MISRA などのプログラミング規約に基づいて、ソフトウェアの欠陥をもたらすことが知られているコード構造を検出します。パターンベースの静的解析は、開発者がコーディングのベスト プラクティス、単体テストのベスト プラクティス、組織の開発ポリシーに従っていることを保証するのに役立ちます。

すべてのタイプの解析は、ビルトイン テスト コンフィギュレーションまたはユーザー定義テスト コンフィギュレーションを使用して実行されます。参照: テスト コンフィギュレーションの設定

重複コード解析

Jtest は重複コードをチェックできます。重複コードはアプリケーションの設計が不適切であることを表す場合があり、保守のコストが増大する可能性があります。重複コードの解析では、コードが小さな言語要素 (トークン) に分解されます。重複と見なすコードを定義したルールのセットに従ってトークンが分析されます。

トークンを解析するルールには次の 2 つのタイプがあります。

重複コード検出ルールを実行するには、Find Duplicated Code テスト コンフィギュレーションを実行します。

builtin://Find Duplicated Code

メトリクス解析

Jtest はコードの複雑性、オブジェクト間の結合、凝集性の欠如などのコードの潜在的な弱点を理解するのに役立つコード メトリクスを計測できます。メトリクス解析ルールを実行するには、Metrics テスト コンフィギュレーションを実行します。

builtin://Metrics

メトリクス解析の結果は、HTML および XML レポートファイルに追加されます。「レポートの参照」を参照してください。

メトリクスしきい値の設定

上限または下限を指定して、メトリクスが指定された値範囲を超えた場合に静的解析違反をレポートすることができます。たとえば、論理行数を制限する場合、論理行数メトリクスが制限を超えた場合に違反をレポートするよう、Metrics テスト コンフィギュレーションを設定することができます。

Metrics ビルトイン テスト コンフィギュレーションには、デフォルトのしきい値が設定されています。ファイル数 (METRIC.NOF) など、しきい値を設定できないルールもあります。

メトリクスしきい値を設定するには、次の方法があります。

フロー解析

フロー解析は、静的解析テクノロジの一種です。アプリケーションの実行パスのシミュレーションをはじめ、複数の解析手法を利用して実行時のバグを引き起こす可能性があるパスを特定します。フロー解析が検出するバグには、未初期化メモリの使用、NULL ポインターの間接参照、ゼロによる除算、メモリ リーク、リソース リークなどが含まれます。

フロー解析は複雑なパスを特定してトレースするため、人間によるテストや検査では発見が難しく、静的解析や単体テストでも発見されないことが多いバグを検出します。 コードを実行せずにバグを検出するフロー解析の機能は、特にレガシー コード ベースや組込みコード (つまりそのようなエラーの実行時検出が効果的ではなかったり不可能だったりするコード) に有効です。

 フロー解析ルールを実行するには、解析にフロー解析用テスト コンフィギュレーションのいずれかを実行します。

builtin://Flow Analysis Fast
builtin://Flow Analysis Standard
builtin://Flow Analysis Aggressive

フロー解析オプションの設定方法については「Configuring Flow Analysis」を参照してください。