Checker | Guideline |
---|
FB.BAD_PRACTICE.DE_MIGHT_IGNORE | ERR00-J. Do not suppress or ignore checked exceptions |
FB.BAD_PRACTICE.DM_EXIT | ERR09-J. Do not allow untrusted code to terminate the JVM |
FB.BAD_PRACTICE.EQ_GETCLASS_AND_CLASS_CONSTANT | MET08-J. Preserve the equality contract when overriding the equals() method |
FB.BAD_PRACTICE.FI_EMPTY | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.FI_EXPLICIT_INVOCATION | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.FI_FINALIZER_NULLS_FIELDS | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.FI_FINALIZER_ONLY_NULLS_FIELDS | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.FI_MISSING_SUPER_CALL | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.FI_NULLIFY_SUPER | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.FI_USELESS | MET12-J. Do not use finalizers |
FB.BAD_PRACTICE.NP_BOOLEAN_RETURN_NULL | EXP01-J. Do not use a null in a case where an object is required |
FB.BAD_PRACTICE.NP_CLONE_COULD_RETURN_NULL | EXP01-J. Do not use a null in a case where an object is required |
FB.BAD_PRACTICE.NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | EXP01-J. Do not use a null in a case where an object is required |
FB.BAD_PRACTICE.NP_TOSTRING_COULD_RETURN_NULL | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.BOA_BADLY_OVERRIDDEN_ADAPTER | MET07-J. Never declare a class method that hides a method declared in a superclass or superinterface |
FB.CORRECTNESS.BSHIFT_WRONG_ADD_PRIORITY | EXP53-J. Use parentheses for precedence of operation |
FB.CORRECTNESS.EC_BAD_ARRAY_COMPARE | EXP02-J. Do not use the Object.equals() method to compare two arrays |
FB.CORRECTNESS.EQ_COMPARING_CLASS_NAMES | OBJ09-J. Compare classes and not class names |
FB.CORRECTNESS.FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER | NUM07-J. Do not attempt comparisons with NaN |
FB.CORRECTNESS.HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS | MET09-J. Classes that define an equals() method must also define a hashCode() method |
FB.CORRECTNESS.HE_USE_OF_UNHASHABLE_CLASS | MET09-J. Classes that define an equals() method must also define a hashCode() method |
FB.CORRECTNESS.NP_ALWAYS_NULL | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_ALWAYS_NULL_EXCEPTION | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_ARGUMENT_MIGHT_BE_NULL | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_CLOSING_NULL | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_GUARANTEED_DEREF | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NONNULL_PARAM_VIOLATION | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NONNULL_RETURN_VIOLATION | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NULL_ON_SOME_PATH | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NULL_ON_SOME_PATH_EXCEPTION | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NULL_PARAM_DEREF | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_NULL_PARAM_DEREF_NONVIRTUAL | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_STORE_INTO_NONNULL_FIELD | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.NP_UNWRITTEN_FIELD | EXP01-J. Do not use a null in a case where an object is required |
FB.CORRECTNESS.OVERRIDING_EQUALS_NOT_SYMMETRIC | MET08-J. Preserve the equality contract when overriding the equals() method |
FB.CORRECTNESS.RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | EXP01-J. Do not use a null in a case where an object is required |
FB.I18N.DM_CONVERT_CASE | STR02-J. Specify an appropriate locale when comparing locale-dependent data |
FB.I18N.DM_DEFAULT_ENCODING | STR02-J. Specify an appropriate locale when comparing locale-dependent data |
FB.MALICIOUS_CODE.EI_EXPOSE_REP | OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code |
FB.MALICIOUS_CODE.EI_EXPOSE_REP2 | OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code |
FB.MALICIOUS_CODE.EI_EXPOSE_STATIC_REP2 | OBJ06-J. Defensively copy mutable inputs and mutable internal components |
FB.MALICIOUS_CODE.FI_PUBLIC_SHOULD_BE_PROTECTED | MET12-J. Do not use finalizers |
FB.MALICIOUS_CODE.MS_MUTABLE_COLLECTION | OBJ56-J. Provide sensitive mutable classes with unmodifiable wrappers |
FB.MALICIOUS_CODE.MS_MUTABLE_COLLECTION_PKGPROTECT | OBJ56-J. Provide sensitive mutable classes with unmodifiable wrappers |
FB.MALICIOUS_CODE.MS_OOI_PKGPROTECT | OBJ56-J. Provide sensitive mutable classes with unmodifiable wrappers |
FB.MALICIOUS_CODE.MS_PKGPROTECT | OBJ56-J. Provide sensitive mutable classes with unmodifiable wrappers |
FB.MALICIOUS_CODE.MS_SHOULD_BE_FINAL | OBJ10-J. Do not use public static nonfinal fields |
FB.MALICIOUS_CODE.MS_SHOULD_BE_REFACTORED_TO_BE_FINAL | OBJ10-J. Do not use public static nonfinal fields |
FB.MT_CORRECTNESS.DC_DOUBLECHECK | LCK10-J. Use a correct form of the double-checked locking idiom |
FB.MT_CORRECTNESS.DC_PARTIALLY_CONSTRUCTED | TSM03-J. Do not publish partially initialized objects |
FB.MT_CORRECTNESS.DL_SYNCHRONIZATION_ON_BOOLEAN | LCK01-J. Do not synchronize on objects that may be reused |
FB.MT_CORRECTNESS.DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE | LCK01-J. Do not synchronize on objects that may be reused |
FB.MT_CORRECTNESS.DL_SYNCHRONIZATION_ON_SHARED_CONSTANT | LCK01-J. Do not synchronize on objects that may be reused |
FB.MT_CORRECTNESS.IS2_INCONSISTENT_SYNC | VNA02-J. Ensure that compound operations on shared variables are atomic |
FB.MT_CORRECTNESS.IS2_INCONSISTENT_SYNC | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
FB.MT_CORRECTNESS.IS_FIELD_NOT_GUARDED | VNA02-J. Ensure that compound operations on shared variables are atomic |
FB.MT_CORRECTNESS.IS_FIELD_NOT_GUARDED | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
FB.MT_CORRECTNESS.NO_NOTIFY_NOT_NOTIFYALL | THI02-J. Notify all waiting threads rather than a single thread |
FB.MT_CORRECTNESS.RU_INVOKE_RUN | THI00-J. Do not invoke Thread.run() |
FB.MT_CORRECTNESS.SC_START_IN_CTOR | TSM02-J. Do not use background threads during class initialization |
FB.MT_CORRECTNESS.STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
FB.MT_CORRECTNESS.STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
FB.MT_CORRECTNESS.STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
FB.MT_CORRECTNESS.STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
FB.MT_CORRECTNESS.STCAL_STATIC_CALENDAR_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
FB.MT_CORRECTNESS.STCAL_STATIC_CALENDAR_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
FB.MT_CORRECTNESS.STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE | VNA02-J. Ensure that compound operations on shared variables are atomic |
FB.MT_CORRECTNESS.STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE | VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic |
FB.MT_CORRECTNESS.SWL_SLEEP_WITH_LOCK_HELD | LCK09-J. Do not perform operations that can block while holding a lock |
FB.MT_CORRECTNESS.WA_AWAIT_NOT_IN_LOOP | THI03-J. Always invoke wait() and await() methods inside a loop |
FB.MT_CORRECTNESS.WA_NOT_IN_LOOP | THI03-J. Always invoke wait() and await() methods inside a loop |
FB.SECURITY.DMI_CONSTANT_DB_PASSWORD | MSC03-J. Never hard code sensitive information |
FB.SECURITY.DMI_EMPTY_DB_PASSWORD | MSC03-J. Never hard code sensitive information |
FB.SECURITY.SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE | IDS00-J. Prevent SQL injection |
FB.SECURITY.SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING | IDS00-J. Prevent SQL injection |
FB.STYLE.IC_INIT_CIRCULARITY | DCL00-J. Prevent class initialization cycles |
FB.STYLE.NP_DEREFERENCE_OF_READLINE_VALUE | EXP01-J. Do not use a null in a case where an object is required |
FB.STYLE.NP_IMMEDIATE_DEREFERENCE_OF_READLINE | EXP01-J. Do not use a null in a case where an object is required |
FB.STYLE.NP_LOAD_OF_KNOWN_NULL_VALUE | EXP01-J. Do not use a null in a case where an object is required |
FB.STYLE.NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE | EXP01-J. Do not use a null in a case where an object is required |
FB.STYLE.NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE | EXP01-J. Do not use a null in a case where an object is required |
FB.STYLE.NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | EXP01-J. Do not use a null in a case where an object is required |
FB.STYLE.NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD | EXP01-J. Do not use a null in a case where an object is required |
PMD.Basic.AvoidThreadGroup | THI01-J. Do not invoke ThreadGroup methods |
PMD.Basic.DontUseFloatTypeForLoopIndices | NUM09-J. Do not use floating-point variables as loop counters |
PMD.Design.BadComparison | NUM07-J. Do not attempt comparisons with NaN |
PMD.Design.SimpleDateFormatNeedsLocale | STR02-J. Specify an appropriate locale when comparing locale-dependent data |
PMD.Design.UseLocaleWithCaseConversions | STR02-J. Specify an appropriate locale when comparing locale-dependent data |
PMD.Design.UseNotifyAllInsteadOfNotify | THI02-J. Notify all waiting threads rather than a single thread |
PMD.J2EE.DoNotCallSystemExit | ERR09-J. Do not allow untrusted code to terminate the JVM |
PMD.Security-Code-Guidelines.ArrayIsStoredDirectly | OBJ06-J. Defensively copy mutable inputs and mutable internal components |
PMD.Strict-Exceptions.AvoidCatchingThrowable | ERR08-J. Do not catch NullPointerException or any of its ancestors |
PMD.Strict-Exceptions.DoNotThrowExceptionInFinally | ERR04-J. Do not complete abruptly from a finally block |