Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

This page was automatically generated and should not be edited.

Note

The information on this page was provided by outside contributors and has not been verified by SEI CERT.

Tip

The table below can be re-ordered, by clicking column headers.

Tool Version:
Include Page
java:CodeSonar_V
java:CodeSonar_V

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.IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN MET13-J. Do not assume that reassigning method arguments modifies the calling environment
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.JLM_JSR166_LOCK_MONITORENTER LCK03-J. Do not synchronize on the intrinsic locks of high-level concurrency objects
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.AvoidReassigningParameters MET13-J. Do not assume that reassigning method arguments modifies the calling environment
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