解析力

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