EN JP CN

Java チェッカー リファレンス

Java チェッカー リファレンス
チェッカー コード説明デフォルトの重要度デフォルトで有効にしますか?チューニング可能ですか?
ANDROID.LIFECYCLE.SV.FRAGMENTINJ 未検証のフラグメント クラス名1trueNo
ANDROID.LIFECYCLE.SV.GETEXTRA 未検証の外部データ3trueNo
ANDROID.NPE Android アプリケーションの null 値を参照しています4trueYes
ANDROID.RLK.MEDIAPLAYER メディア プレイヤーが終了時に解放されていません1trueYes
ANDROID.RLK.MEDIARECORDER メディア レコーダーが終了時に解放されていません1trueYes
ANDROID.RLK.SQLCON Sql コネクションが終了時に閉じられていません1trueYes
ANDROID.RLK.SQLOBJ Sql オブジェクトが終了時に閉じられていません1trueYes
ANDROID.UF.BITMAP recycle後のビットマップの使用2trueYes
ANDROID.UF.CAMERA 解放後のカメラの使用2trueYes
ANDROID.UF.MEDIAPLAYER 解放後のメディア プレイヤーの使用2trueYes
ANDROID.UF.MEDIARECORDER 解放後のメディア レコーダーの使用2trueYes
CMP.CLASS クラス名による比較が行われています4falseNo
CMPF.FLOAT 浮動小数点型に対する等価チェックは避ける必要があります4trueNo
CMP.OBJ == によるオブジェクトの比較4trueNo
CMP.STR == による文字列の比較4trueNo
COV.CMP compareTo() メソッドは、シグネチャ 'public int compareTo(Object)' を持つ必要があります4trueNo
ECC.EMPTY Catch 節が空です4trueNo
EHC.EQ クラスが hashCode() を定義していますが、equals() は定義していません4trueNo
EHC.HASH クラスが equals() を定義していますが、hashCode() は定義していません4trueNo
ESCMP.EMPTYSTR 非効率な空文字列比較4trueNo
EXC.BROADTHROWS 過度に広範な範囲に対応するメソッドが宣言をスローしています4trueNo
FIN.EMPTY 空の finalize() メソッドは削除する必要があります3trueNo
FIN.NOSUPER finalize() メソッドの実装は super.finalize() を呼び出す必要があります3trueNo
FSC.PRT クラスとそのスーパークラスが同じ名前の protected フィールドを持ちます4falseNo
FSC.PRV クラスとそのスーパークラスが同じ名前の private フィールドを持ちます4falseNo
FSC.PUB クラスとそのスーパークラスが同じ名前の public フィールドを持ちます4falseNo
JD.BITCMP 式で非短絡ロジックが使用されています。3trueNo
JD.BITMASK ビット演算でエラーの可能性があります3trueNo
JD.BITR 冗長な式3trueNo
JD.CALL.WRONGSTATIC static メソッドがインスタンス参照から呼び出されています4trueNo
JD.CAST.COL コレクションに対する ClassCastException の可能性があります4trueNo
JD.CAST.KEY コレクション要素の取得に使用されるキーの型が正しくない可能性があります4trueNo
JD.CAST.SUSP 異なる型に対する ClassCastException の可能性があります4trueNo
JD.CAST.UPCAST 派生型に対する ClassCastException の可能性があります4trueNo
JD.CATCH ランタイム例外のキャッチ4trueNo
JD.CONCUR ConcurrentModificationException の可能性があります3trueNo
JD.EQ.ARR 配列に対する 'equals' の呼び出し4trueNo
JD.EQ.UTA 整合しない型 (配列と非配列) に対して 'equals' が呼び出されています4trueNo
JD.EQ.UTC 整合しない型に対して equals が呼び出されています4trueNo
JD.FINRET finally 内の return4trueNo
JD.IFBAD 'if' 文が冗長です3trueNo
JD.IFEMPTY 'if' 文が冗長です。未完成のコード3trueNo
JD.INF.AREC 見かけ上の無限再帰4trueNo
JD.INST.TRUE 冗長な 'instanceof' 条件4trueNo
JD.LIST.ADD 自分自身に追加されたコンテナ4trueNo
JD.LOCK 取得したロックを解放していません2trueYes
JD.LOCK.NOTIFY ロックが保持された状態で 'notify' メソッドが呼び出されています4trueNo
JD.LOCK.SLEEP ロックが保持された状態で 'sleep' メソッドが呼び出されています4trueNo
JD.LOCK.WAIT ロックが保持された状態で 'wait' メソッドが呼び出されています4trueNo
JD.METHOD.CBS メソッドは静的です4falseNo
JD.NEXT 'NoSuchElementException' の可能性があります4trueYes
JD.OVER オーバーライドの不一致4trueNo
JD.RC.EXPR.CHECK テスト式は常に true となります4trueNo
JD.RC.EXPR.DEAD 冗長なチェックはデッド コードの原因となります4falseNo
JD.ST.POS 'indexOf' メソッドのチェックが不適切です4trueNo
JD.SYNC.DCL ダブルチェック ロッキング4trueNo
JD.SYNC.IN 一貫性のない同期化4trueNo
JD.THREAD.RUN 'Thread.run' メソッドが明示的に呼び出されています4trueNo
JD.UMC.FINALIZE 'Object.finalize' メソッドが明示的に呼び出されています3trueNo
JD.UMC.RUNFIN runFinalizersOnExit() が呼び出されています3trueNo
JD.UMC.WAIT 間違ったオブジェクトに対して wait が呼び出されています4trueNo
JD.UNCAUGHT 例外がキャッチされていません4trueNo
JD.UN.MET 未使用の non-private メソッド4falseNo
JD.UNMOD 変更できないコレクションの変更2trueYes
JD.UN.PMET 未使用の private メソッド3trueNo
JD.VNU 変数はいずれかのパスで代入された後に一度も読み取られていません4trueNo
JD.VNU.NULL 変数はいずれかのパスで null が代入された後に一度も読み取られていません4trueNo
MNA.CAP メソッド名は大文字以外で始まる必要があります4trueNo
MNA.CNS メソッド名がコンストラクタ名と同じですが、コンストラクタではありません4trueNo
MNA.SUS 疑わしいメソッド名4trueNo
NPE.COND null チェック後の null ポインタを参照しています1trueYes
NPE.CONST null 定数が代入されたオブジェクトを参照しています1trueYes
NPE.RET メソッドから返された null ポインタを参照しています1trueYes
NPE.RET.UTIL マップまたはコレクションから返されたnull 値を参照しています1trueYes
NPE.STAT 戻り値の null ポインタ 参照 (統計情報)4falseYes
REDUN.DEF 式を自分自身に代入しています。4trueNo
REDUN.EQ equals() の両側に同じ式が指定された疑わしい呼び出しです4trueNo
REDUN.EQNULL equals() に式と null が指定された疑わしい呼び出しです(決して true にはなりません)4trueNo
REDUN.FINAL 'final' 修飾子が冗長です4trueNo
REDUN.NULL null 定数の代わりに変数が使用されています4trueNo
REDUN.OP 両側に同じ式が指定された疑わしい演算です4trueNo
RI.IGNOREDCALL immutable オブジェクトに対して呼び出されたメソッドから返された値が無視されています4trueNo
RI.IGNOREDNEW 新規に作成されたオブジェクトが無視されています4trueNo
RLK.AWT AWT オブジェクトが終了時に破棄されていません1trueYes
RLK.FIELD フィールドに保存されたシステム リソースがリークする可能性があります4trueNo
RLK.HIBERNATE Hibernate オブジェクトが終了時に閉じられていません1trueYes
RLK.IMAGEIO ImageIO ストリームが終了時に閉じられていません1trueYes
RLK.IN 入力ストリームが終了時に閉じられていません1trueYes
RLK.JNDI JNDI コンテキストが終了時に閉じられていません1trueYes
RLK.MAIL JavaMail オブジェクトが終了時に閉じられていません1trueYes
RLK.MICRO Java Microedition 接続が終了時に閉じられていません1trueYes
RLK.NIO NIO オブジェクトが終了時に閉じられていません1trueYes
RLK.OUT 出力ストリームが終了時に閉じられていません1trueYes
RLK.SOCK ソケットが終了時に閉じられていません1trueYes
RLK.SQLCON Sql 接続が終了時に閉じられていません1trueYes
RLK.SQLOBJ Sql オブジェクトが終了時に閉じられていません1trueYes
RLK.SWT SWT オブジェクトが終了時に破棄されていません1trueYes
RLK.ZIP Zip ファイルが終了時に閉じられていません1trueYes
RNU.THIS this と null が比較されていますが、this は null になり得ません4trueNo
RR.IGNORED 戻り値が無視されています4trueNo
RTC.CALL 型変換は冗長です4trueNo
STRCON.LOOP ループ内でStringオブジェクトに対して append が使用されています4trueNo
SV.CLASSDEF.INJ ランタイムクラス定義インジェクション2trueNo
SV.CLASSLOADER.INJ クラスローダー URL インジェクション2trueNo
SV.CLEXT.CLLOADER クラスが 'java.lang.ClassLoader' を拡張しています4falseNo
SV.CLEXT.POLICY クラスが 'java.security.Policy' を拡張しています4falseNo
SV.CLLOADER クラスローダが直接使用されています4falseNo
SV.CLONE.SUP クラスは 'clone' メソッドを実装していますが、Cloneable を実装していません4falseNo
SV.DATA.BOUND 信頼できないデータが信頼できるストレージにリークしています3trueYes
SV.DATA.DB データ インジェクション2trueYes
SV.DOS.ARRINDEX 不正なインデックスが配列アクセスに使用されています3trueYes
SV.DOS.ARRSIZE 不正なサイズが配列割り当てに使用されています3trueYes
SV.DOS.TMPFILEDEL JVM のライフタイムの間一時ファイルが存続します3trueYes
SV.DOS.TMPFILEEXIT 一時ファイルが存続します3trueYes
SV.ECV クラスローダが直接使用されています4falseNo
SV.EMAIL 未チェックの電子メール2trueYes
SV.EXEC プロセス インジェクション2trueYes
SV.EXEC.DIR プロセス インジェクション。作業ディレクトリ2trueYes
SV.EXEC.ENV プロセス インジェクション。環境変数2trueYes
SV.EXEC.LOCAL プロセス インジェクション。ローカル引数3trueNo
SV.EXPOSE.FIELD static フィールドは悪意のあるコードによって変更される可能性があります4falseNo
SV.EXPOSE.FIN finalize() メソッドは、public ではなく protected アクセス修飾子を使用する必要があります4falseNo
SV.EXPOSE.IFIELD インスタンス フィールドは final にする必要があります4falseNo
SV.EXPOSE.MUTABLEFIELD static mutable フィールドは悪意のあるコードによってアクセスされる可能性があります4falseNo
SV.EXPOSE.RET 内部表現が露出される可能性があります4falseNo
SV.EXPOSE.STORE メソッドが mutable オブジェクトへの参照を保存しています4falseNo
SV.HASH.NO_SALT ソルトなしの一方向性暗号化ハッシュの使用3trueNo
SV.HTTP_SPLIT HTTP 応答分割2trueYes
SV.IL.DEV 設計情報の漏洩3trueYes
SV.IL.FILE ファイル名のリーク3trueYes
SV.INT_OVF 不正データが整数オーバーフローを引き起こす可能性があります2trueYes
SV.LDAP 未検証のユーザ入力が LDAP フィルタとして使用されています2trueYes
SV.LOG_FORGING ログの偽造3trueYes
SV.PASSWD.HC ハードコードされたパスワード2trueYes
SV.PASSWD.HC.EMPTY 空のパスワード2trueYes
SV.PASSWD.PLAIN プレーンテキストのパスワード2trueYes
SV.PATH パスまたはファイル名のインジェクション3trueYes
SV.PATH.INJ ファイル インジェクション3trueYes
SV.RANDOM 安全ではない乱数ジェネレータの使用4trueNo
SV.SCRIPT スクリプトの実行2trueYes
SV.SERIAL.INON インタフェースが 'Serializable' を拡張しています4falseNo
SV.SERIAL.NON クラスが 'Serializable' を実装しています4falseNo
SV.SERIAL.NOREAD メソッド readObject() を Serializable クラスに対して定義する必要があります4falseNo
SV.SERIAL.NOWRITE メソッド writeObject() を Serializable クラスに対して定義する必要があります4falseNo
SV.SERIAL.SIG Serializable クラスのメソッド readObject() および writeObject() が正しいシグネチャを持つ必要があります4falseNo
SV.SHARED.VAR サーブレットから static 変数への非同期アクセス4trueNo
SV.SOCKETS 好ましくない手法:ソケットの使用4falseNo
SV.SQL SQL インジェクション2trueYes
SV.SQL.DBSOURCE 未検証のデータベースからの情報がSQL文に使用されています3trueYes
SV.STRBUF.CLEAN 文字列バッファが削除されていません3falseYes
SV.STRUTS.NOTRESET ステータス フォーム:リセットが整合していません4falseNo
SV.STRUTS.NOTVALID ステータス フォーム:検証が整合していません4falseNo
SV.STRUTS.PRIVATE ステータス フォーム: non-private フィールド4falseNo
SV.STRUTS.RESETMET ステータス フォーム: reset メソッド4falseNo
SV.STRUTS.STATIC ステータス フォーム: static フィールド4falseNo
SV.STRUTS.VALIDMET ステータス フォーム: validate メソッド4falseNo
SV.TAINT 不正データ3falseYes
SV.TAINT_NATIVE 不正データがネイティブ コードに渡されています3trueYes
SV.TMPFILE 一時ファイルのパス改ざん3trueYes
SV.UMC.EXIT System.exit() および Runtime.exit() メソッドの呼び出しをサーブレット コードで使用すべきではありません4falseNo
SV.UMC.JDBC アプリケーションが DriverManager.getConnection() を直接呼び出すことは避けるべきです4falseNo
SV.UMC.THREADS 好ましくない手法:スレッド管理の使用4falseNo
SV.UMD.MAIN デバッグ コードの削除忘れ - main メソッド4falseNo
SV.USE.POLICY Policy のメソッドが直接使用されています4falseNo
SV.WEAK.CRYPT 破られたまたは危険な暗号化アルゴリズムの使用3trueNo
SV.XPATH 未検証のユーザ入力が XPath 式として使用されています2trueYes
SV.XSS.DB クロスサイト スクリプティング (Stored XSS)2trueYes
SV.XSS.REF クロスサイト スクリプティング (Reflected XSS)2trueYes
SYNCH.NESTED 同期化されたメソッドが同じロックを保持する別の同期化されたメソッドを呼び出しています4trueNo
SYNCH.NESTEDS 同期化された static メソッドが同じロックを保持する別の同期化された static メソッドを呼び出しています4trueNo
UC.BOOLB ブール式からの new Boolean オブジェクトの作成は不要です4trueNo
UC.BOOLS 文字列式からの new Boolean オブジェクトの作成は不要です4trueNo
UC.STRS 文字列式からの new String オブジェクトの作成は不要です4trueNo
UC.STRV 空の文字列オブジェクトの作成は不要です4trueNo
UF.IMAGEIO 閉じた ImageIO ストリームの利用2trueNo
UF.IN 閉じた入力ストリームの利用2trueNo
UF.JNDI 閉じた JNDI コンテキストの利用2trueNo
UF.MAIL 閉じた Java mail オブジェクトの利用2trueNo
UF.MICRO 閉じた Java Microedition 接続の利用2trueNo
UF.NIO 閉じた NIO オブジェクトの利用2trueNo
UF.OUT 閉じた出力ストリームの利用2trueNo
UF.SOCK 閉じたソケットの利用2trueNo
UF.SQLCON 閉じた SQL 接続の利用2trueNo
UF.SQLOBJ 閉じた SQL オブジェクトの利用2trueNo
UF.ZIP 閉じた Zip ファイルの利用2trueNo
UMC.EXIT System.exit() メソッドの呼び出しは好ましくありません4falseNo
UMC.GC System.gc() メソッドの呼び出しは好ましくありません4falseNo
UMC.SYSERR System.err メソッドの呼び出しを使用したデバッグ プリントは好ましくありません4falseNo
UMC.SYSOUT System.out メソッドの呼び出しを使用したデバッグ プリントは好ましくありません4falseNo
UMC.TOSTRING 不要な toString() メソッドが String 引数に対して呼び出されています4trueNo