解析力
解析力の値は、SpotBugの内部フラグを調整し、予測を下げて計算コストを削減します。
デフォルトの解析力の設定は more
と同じです。
FindBugs.javaのフラグ |
説明 |
解析力 |
|||
---|---|---|---|---|---|
min |
less |
more |
max |
||
Accurate Exceptions |
(1) 例外エッジでどのような例外がスローされるか、(2) ブロックが到達可能か、(3) どの例外エッジだけが実行されるか、「暗黙的な」ランタイム例外を判断します。 |
✔ |
✔ |
✔ |
|
Model Instanceof |
型解析におけるinstanceofチェックの効果をモデル化します。 |
✔ |
✔ |
✔ |
|
Track Guaranteed Value Derefs in Null Pointer Analysis |
NULLポインタ解析では、(暗黙的でない例外を除いた)パスで逆参照されることが保証されている NULL 値を追跡します。 |
✔ |
✔ |
||
Track Value Numbers in Null Pointer Analysis |
NULLポインタ解析では、NULLとわかっている値の番号を追跡します。これにより、スタックフレーム内に存在しないが、冗長なロードの除去または転送、代用によって値が復帰可能なヒープ領域にあるかもしれないNULL 値を見失わないことを可能にします。 |
✔ |
✔ |
||
Interprocedural Analysis |
アプリケーションクラスのプロシージャ間解析を有効にします。 |
✔ |
✔ |
||
Interprocedural Analysis of Referenced Classes |
参照クラス (非アプリケーションクラス) のプロシージャ間解析を有効にします。 |
✔ |
|||
Conserve Space |
精度を犠牲にしてスペースを節約しようとします。たとえば、制御フローグラフ解析のための無条件例外スローアエッジを切り捨てて、メモリフットプリントを削減します。 |
✔ |
|||
Skip Huge Methods |
バイトコードの長さが長すぎる (6,000) ときは、メソッド解析をスキップします。 |
✔ |
✔ |
✔ |