解析力¶
解析力の値は,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) ときは,メソッド解析をスキップします。 | ✔ | ✔ | ✔ |