精度レベル (-O0 | -O1 | -O2 | -O3
)
検証の精度レベルの指定
説明
このオプションは Code Prover 解析のみに影響します。
検証で使用しなければならない精度レベルを指定します。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace® ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [精度] ノードを選択してから、このオプションの値を選択します。
Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [実行時エラー] 、 [精度] ノードを選択してから、このオプションの値を選択します。
コマンド ラインとオプション ファイル:
-O0
や-O1
など、オプション-O
を使用します。コマンド ライン情報を参照してください。#
このオプションを使用する理由
精度を高めると証明済み結果の数は増えますが、必要な検証時間も増加します。各精度レベルは、検証に使用されるアルゴリズムごとに対応します。
ほとんどの場合、精度と検証時間との最適なバランスはレベル 2 です。
設定
既定値: 2
0
このオプションは、静的な間隔の検証に対応します。
1
このオプションは、静的な間隔のより複雑な検証に対応します。
2
このオプションは、領域値の複雑な多面体モデルに対応していて、オプション
[手続き間解析の精度を高める] (-path-sensitivity-delta)
に応じて手続き間解析の精度をさらに高めます。
3
このオプションは、1000 行未満のコードにのみ適しています。このオプションを使用すると、証明される結果の割合が非常に高くなる可能性があります。
ヒント
妥当な時間内に最良の結果を得るには、既定のレベル
2
を使用します。検証に長い時間がかかる場合は、精度を下げます。しかし、未証明のチェックの数が増加することがあります。同様に、オレンジ チェックの数を減らすには精度を改善します。しかし、検証にかかる時間が大幅に長くなる可能性があります。精度レベルが 2 以下のとき、その設定が有効になるのは、検証レベルが
[Software Safety Analysis level 0]
よりも高い場合のみとなります。検証レベル (-to)
も参照してください。たとえば、解析時間を短縮するには、検証レベルを
[Software Safety Analysis level 0]
に下げるという手段があります。解析時間をさらに短縮しようとして、精度レベルを 2 よりも下げてはいけません。精度レベル 3 で使用されるアルゴリズムは、検証レベル
[Software Safety Analysis level 0]
にも適用可能であることに注意してください。
コマンド ライン情報
パラメーター: -O0 | -O1 | -O2 | -O3
|
既定値: -O2 |
例 (Code Prover): polyspace-code-prover -sources |
例 (Code Prover Server): polyspace-code-prover-server -sources |