Checker | Guideline |
|---|
| ATOMICITY | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| BAD_EQ | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| BAD_EQ | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| BAD_EQ | FIO16-J. Canonicalize path names before validating them |
| BAD_SHIFT | NUM00-J. Detect or prevent integer overflow |
| CALL_SUPER | MET12-J. Do not use finalizers |
| CHECKED_RETURN | EXP00-J. Do not ignore values returned by methods |
| CHECKED_RETURN | FIO09-J. Do not rely on the write() method to output integers outside the range 0 to 255 |
| CONFIG | MSC03-J. Never hard code sensitive information |
| DC.CODING_STYLE | ERR09-J. Do not allow untrusted code to terminate the JVM |
| DC.THREADING | MET12-J. Do not use finalizers |
| DC.THREADING.thread_run | THI00-J. Do not invoke Thread.run() |
| DIVIDE_BY_ZERO | NUM02-J. Ensure that division and remainder operations do not result in divide-by-zero errors |
| DOUBLE_CHECK_LOCK | LCK10-J. Use a correct form of the double-checked locking idiom |
| FB.BC_NULL_INSTANCEOF | EXP01-J. Do not use a null in a case where an object is required |
| FB.DC_DOUBLECHECK | LCK10-J. Use a correct form of the double-checked locking idiom |
| FB.DMI_CONSTANT_DB_ PASSWORD | MSC03-J. Never hard code sensitive information |
| FB.DMI_EMPTY_DB_PASSWORD | MSC03-J. Never hard code sensitive information |
| FB.DM_EXIT | ERR09-J. Do not allow untrusted code to terminate the JVM |
| FB.EI_EXPOSE_REP | OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code |
| FB.EI_EXPOSE_REP2 | OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code |
| FB.EQ_ABSTRACT_SELF | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_ABSTRACT_SELF | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_ALWAYS_FALSE | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_ALWAYS_FALSE | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_ALWAYS_TRUE | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_ALWAYS_TRUE | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_CHECK_FOR_OPERAND_NOT_ COMPATIBLE_WITH_THIS | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_CHECK_FOR_OPERAND_NOT_ COMPATIBLE_WITH_THIS | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_COMPARETO_USE_OBJECT_ EQUALS | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_COMPARETO_USE_OBJECT_ EQUALS | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_COMPARING_CLASS_NAMES | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_COMPARING_CLASS_NAMES | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_DOESNT_OVERRIDE_EQUALS | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_DOESNT_OVERRIDE_EQUALS | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_DONT_DEFINE_EQUALS_ FOR_ENUM | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_DONT_DEFINE_EQUALS_ FOR_ENUM | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_GETCLASS_AND_CLASS_ CONSTANT | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_GETCLASS_AND_CLASS_ CONSTANT | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_OTHER_NO_OBJECT | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_OTHER_NO_OBJECT | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_OTHER_USE_OBJECT | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_OTHER_USE_OBJECT | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_OVERRIDING_EQUALS_ NOT_SYMMETRIC | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_OVERRIDING_EQUALS_ NOT_SYMMETRIC | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_SELF_NO_OBJECT | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_SELF_NO_OBJECT | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_SELF_USE_OBJECT | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_SELF_USE_OBJECT | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.EQ_UNUSUAL | EXP02-J. Do not use the Object.equals() method to compare two arrays |
| FB.EQ_UNUSUAL | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.ES_COMPARING_PARAMETER_ STRING_WITH_EQ | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.ES_COMPARING_PARAMETER_ STRING_WITH_EQ | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.ES_COMPARING_STRINGS_ WITH_EQ | EXP03-J. Do not use the equality operators when comparing values of boxed primitives |
| FB.FI_EMPTY | MET12-J. Do not use finalizers |
| FB.FI_EXPLICIT_INVOCATION | MET12-J. Do not use finalizers |
| FB.FI_FINALIZER_NULLS_FIELDS | MET12-J. Do not use finalizers |
| FB.FI_FINALIZER_ONLY_NULLS_FIELDS | MET12-J. Do not use finalizers |
| FB.FI_MISSING_SUPER_CALL | MET12-J. Do not use finalizers |
| FB.FI_NULLIFY_SUPER | MET12-J. Do not use finalizers |
| FB.FI_PUBLIC_SHOULD_BE_ PROTECTED | MET12-J. Do not use finalizers |
| FB.FI_USELESS | MET12-J. Do not use finalizers |
| FB.IS2_INCONSISTENT_SYNC | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.IS2_INCONSISTENT_SYNC | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FB.IS_FIELD_NOT_GUARDED | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.IS_FIELD_NOT_GUARDED | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FB.IS_INCONSISTENT_SYNC | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.IS_INCONSISTENT_SYNC | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FB.MS_SHOULD_BE_FINAL | OBJ10-J. Do not use public static nonfinal fields |
| FB.NP_ALWAYS_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_ALWAYS_NULL_EXCEPTION | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_ARGUMENT_MIGHT_BE_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_BOOLEAN_RETURN_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_CLONE_COULD_RETURN_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_CLOSING_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_DEREFERENCE_OF_ READLINE_VALUE | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_DOES_NOT_HANDLE_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_EQUALS_SHOULD_HANDLE_ NULL_ARGUMENT | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_FIELD_NOT_INITIALIZED_ IN_CONSTRUCTOR | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_GUARANTEED_DEREF | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_GUARANTEED_DEREF_ON_ EXCEPTION_PATH | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_IMMEDIATE_DEREFERENCE_ OF_READLINE | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_LOAD_OF_KNOWN_NULL_ VALUE | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NONNULL_FIELD_NOT_ INITIALIZED_IN_CONSTRUCTOR | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NONNULL_PARAM_VIOLATION | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NONNULL_RETURN_VIOLATION | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_INSTANCEOF | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_ON_SOME_PATH | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_ON_SOME_PATH_ EXCEPTION | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_ON_SOME_PATH_ FROM_RETURN_VALUE | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_ON_SOME_PATH_ MIGHT_BE_INFEASIBLE | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_PARAM_DEREF | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_PARAM_DEREF_ NONVIRTUAL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_NULL_PARAM_DEREF_ALL_ TARGETS_DANGEROUS | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_PARAMETER_MUST_BE_NON - NULL_BUT_MARKED_AS_NULLABLE | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_STORE_INTO_NONNULL_FIELD | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_TOSTRING_COULD_ RETURN_NULL | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_UNWRITTEN_FIELD | EXP01-J. Do not use a null in a case where an object is required |
| FB.NP_UNWRITTEN_PUBLIC_OR_ PROTECTED_FIELD | EXP01-J. Do not use a null in a case where an object is required |
| FB.RCN_REDUNDANT_COMPARISON_ OF_NULL_AND_NONNULL_VALUE | EXP01-J. Do not use a null in a case where an object is required |
| FB.RCN_REDUNDANT_COMPARISON_ TWO_NULL_VALUES | EXP01-J. Do not use a null in a case where an object is required |
| FB.RCN_REDUNDANT_NULLCHECK_ OF_NONNULL_VALUE | EXP01-J. Do not use a null in a case where an object is required |
| FB.RCN_REDUNDANT_NULLCHECK_ OF_NULL_VALUE | EXP01-J. Do not use a null in a case where an object is required |
| FB.RCN_REDUNDANT_NULLCHECK_ WOULD_HAVE_BEEN_A_NPE | EXP01-J. Do not use a null in a case where an object is required |
| FB.RU_INVOKE_RUN | MET10-J. Follow the general contract when implementing the compareTo() method |
| FB.SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE | IDS00-J. Prevent SQL injection |
| FB.SQL_PREPARED_STATEMENT_GENERATED_ | IDS00-J. Prevent SQL injection |
| FB.STCAL_INVOKE_ON_STATIC_ CALENDAR_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.STCAL_INVOKE_ON_STATIC_ CALENDAR_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FB.STCAL_INVOKE_ON_STATIC_ DATE_FORMAT_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.STCAL_INVOKE_ON_STATIC_ DATE_FORMAT_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FB.STCAL_STATIC_CALENDAR_ INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.STCAL_STATIC_CALENDAR_ INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FB.STCAL_STATIC_SIMPLE_DATE_ FORMAT_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
| FB.STCAL_STATIC_SIMPLE_DATE_ FORMAT_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| FORWARD_NULL | EXP01-J. Do not use a null in a case where an object is required |
| GUARDED_BY_VIOLATION | VNA02-J. Ensure that compound operations on shared variables are atomic |
| GUARDED_BY_VIOLATION | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| HARDCODED_CREDENTIALS | MSC03-J. Never hard code sensitive information |
| INDIRECT_GUARDED_BY_VIOLATION | VNA02-J. Ensure that compound operations on shared variables are atomic |
| INDIRECT_GUARDED_BY_VIOLATION | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| ITERATOR | FIO04-J. Release resources when they are no longer needed |
| JDBC_CONNECTION | FIO04-J. Release resources when they are no longer needed |
| LOCK_INVERSION | LCK07-J. Avoid deadlock by requesting and releasing locks in the same order |
| LOCK_ORDERING | LCK07-J. Avoid deadlock by requesting and releasing locks in the same order |
| MISSING_THROW | ERR00-J. Do not suppress or ignore checked exceptions |
| NON_STATIC_GUARDING_STATIC | VNA02-J. Ensure that compound operations on shared variables are atomic |
| NON_STATIC_GUARDING_STATIC | VNA02-J. Ensure that compound operations on shared variables are atomic |
| NON_STATIC_GUARDING_STATIC | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| NON_STATIC_GUARDING_STATIC | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
| NULL_RETURNS | EXP01-J. Do not use a null in a case where an object is required |
| OS_CMD_INJECTION | IDS07-J. Sanitize untrusted data passed to the Runtime.exec() method |
| OVERFLOW_BEFORE_WIDEN | NUM00-J. Detect or prevent integer overflow |
| PATH_MANIPULATION | FIO16-J. Canonicalize path names before validating them |
| PW.ABNORMAL_TERMINATION_ OF_FINALLY_BLOCK | ERR04-J. Do not complete abruptly from a finally block |
| PW.ABNORMAL_TERMINATION_ OF_FINALLY_BLOCK | ERR05-J. Do not let checked exceptions escape from a finally block |
| RESOURCE_LEAK | FIO04-J. Release resources when they are no longer needed |
| REVERSE_INULL | EXP01-J. Do not use a null in a case where an object is required |
| RISKY_CRYPTO | MSC02-J. Generate strong random numbers |
| SERVLET_ATOMICITY | VNA00-J. Ensure visibility when accessing shared primitive variables |
| SERVLET_ATOMICITY | VNA02-J. Ensure that compound operations on shared variables are atomic |
| SQLI | IDS00-J. Prevent SQL injection |
| UNSAFE_DESERIALIZATION | SER01-J. Do not deviate from the proper signatures of serialization methods |
| UNSAFE_DESERIALIZATION | SER03-J. Do not serialize unencrypted sensitive data |
| UNSAFE_DESERIALIZATION | SER06-J. Make defensive copies of private mutable components during deserialization |
| UNSAFE_DESERIALIZATION | SER07-J. Do not use the default serialized form for classes with implementation-defined invariants |
| UNSAFE_REFLECTION | SEC02-J. Do not base security checks on untrusted sources |