JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.2p0 | CONFIDENTIAL | CodeSecure Inc |
CodeSonarの解析では、関数内のいくつかのコードは解析されません;解析されないもののなかで最も重要な命令文は単純な割り当てや値を伴った リターン命令です。
これと、その他の解析されないコードのワーニングクラスは一般的に全てのコードの解析を許可する SEARCH_BOUND 設定パラメータの値が十分に高くないために起こります
これらのワーニングを減らすもしくは無くすにはこの値を高くします。
実際のプログラムの多くでは、解析されないコードの全てのワーニングを出力しないように search bound を高くすると、実用的ではないほど解析時間が長くなります。
これらのクラスは、パスカバレッジよりもコードカバレッジに関係しています。いくつかの場合では、プロシージャを介した可能性のあるパスの厳密なサブセットのプロシージャ内の全てのコードを網羅することは可能です。
更なる情報は、解析されない呼び出し:注釈:解析されないコードワーニングクラスを参照してください。
| クラス名 | Unexercised Data Flow | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 日本語クラス名 | 解析されないデータフロー | ||||||||||||||||||||||||||||||||||||||||||
| クラス分類 | 診断 (diagnostic) | ||||||||||||||||||||||||||||||||||||||||||
| ニーモニック | DIAG.UNEX.DATA | ||||||||||||||||||||||||||||||||||||||||||
| カテゴリー |
|
||||||||||||||||||||||||||||||||||||||||||
| 対応言語 | C および C++ で利用可能です。 |
||||||||||||||||||||||||||||||||||||||||||
| 有効/無効設定 | このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル
(configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Unexercised Data Flow" このワーニングクラスは、コード内の問題に対する警告検出というより、診断解析を目的としています。 その為、通常はCodeSonarのpresetsで有効になることはありません。特に、all_warningclasses presetでさえも、有効にはなりませんことを留意して下さい。 |
簡潔な説明のために、設定値を減らすために、設定ファイルで以下の設定を加えたとします。
SEARCH_BOUND=3
SEARCH_BOUND=3の場合、CodeSonarはunex_data()のプロシージャの3つのパスのみ探索します。
しかしながら、プロシージャには4つのパスがあり、3つのパスのみが探索された場合、switch caseの一つは解析されません。
各々の switch caseで最も重要な命令文の形式は単純な割り当てなので、解析されないデータフローのワーニングはそれらの文のいずれか一つで発生します。
ソースコードの中でどの一つなのかを正確に予想することはできません。それはCodeSonarのビルドと解析のいくつかの現象によります。
void unex_data(int j)
{ int i;
switch( j )
{
case __LINE__: i=4; return; break; /* Unexercised Data Flow warning issued either here... */
case __LINE__: i=4; return; break; /* ...or here... */
case __LINE__: i=4; return; break; /* ...or here... */
default: i=4; return; break; /* ...or here. */
}
}
設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。
To report problems with this documentation, please visit https://support.codesecure.com/.