SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 3.1.0

Threshold is medium

Effort is min

Summary

Spotbug Results
Classes Bugs Errors Missing Classes
44 92 0 0

AbstractMissingHashCode$StillMissingHashCode

Spotbug Results
Bug Category Details Line Priority
AbstractMissingHashCode$StillMissingHashCode inherits equals and uses Object.hashCode() BAD_PRACTICE HE_INHERITS_EQUALS_USE_HASHCODE 14 Medium
Unused field: AbstractMissingHashCode$StillMissingHashCode.y PERFORMANCE UUF_UNUSED_FIELD Not available Medium

AccidentalNonConstructorInInnerClass$DoNotReport

Spotbug Results
Bug Category Details Line Priority
Should AccidentalNonConstructorInInnerClass$DoNotReport be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 21-24 Medium

AccidentalNonConstructorInInnerClass$Report

Spotbug Results
Bug Category Details Line Priority
Should AccidentalNonConstructorInInnerClass$Report be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 3-7 Medium

AppendingToAnObjectOutputStream

Spotbug Results
Bug Category Details Line Priority
Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject1(File, Object) CORRECTNESS IO_APPENDING_TO_OBJECT_OUTPUT_STREAM 15 High
Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject2(File, Object) CORRECTNESS IO_APPENDING_TO_OBJECT_OUTPUT_STREAM 21 High
Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject3(String, Object) CORRECTNESS IO_APPENDING_TO_OBJECT_OUTPUT_STREAM 27 High
Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject4(String, Object) CORRECTNESS IO_APPENDING_TO_OBJECT_OUTPUT_STREAM 33 High

ArrayToString

Spotbug Results
Bug Category Details Line Priority
Invocation of toString on an unnamed array in ArrayToString.print2() CORRECTNESS DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY 29 Medium
Invocation of toString on ? in ArrayToString.print0(String[]) CORRECTNESS DMI_INVOKING_TOSTRING_ON_ARRAY 18 Medium
Invocation of toString on ? in ArrayToString.print1() CORRECTNESS DMI_INVOKING_TOSTRING_ON_ARRAY 24 Medium
Invocation of toString on gargs in ArrayToString.print3() CORRECTNESS DMI_INVOKING_TOSTRING_ON_ARRAY 34 Medium

AssumeUnsignedBytes

Spotbug Results
Bug Category Details Line Priority
Bad comparison of signed byte with 200 in AssumeUnsignedBytes.find200(byte[]) CORRECTNESS INT_BAD_COMPARISON_WITH_SIGNED_BYTE 8 High

UseOfNonHashableClassInHashDataStructure

Spotbug Results
Bug Category Details Line Priority
UseOfNonHashableClassInHashDataStructure.equals(Object) is unusual STYLE EQ_UNUSUAL 14 Medium
UseOfNonHashableClassInHashDataStructure defines equals and uses Object.hashCode() BAD_PRACTICE HE_EQUALS_USE_HASHCODE 14 High
UseOfNonHashableClassInHashDataStructure doesn't define a hashCode() method but is used in a hashed data structure in UseOfNonHashableClassInHashDataStructure.get(UseOfNonHashableClassInHashDataStructure) CORRECTNESS HE_USE_OF_UNHASHABLE_CLASS 23 High
UseOfNonHashableClassInHashDataStructure.equals(Object) does not check for null argument BAD_PRACTICE NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT 14 Medium

UselessAssignments

Spotbug Results
Bug Category Details Line Priority
Dead store to $L2 in new UselessAssignments(int, int) STYLE DLS_DEAD_LOCAL_STORE 11 Medium
Overwritten increment in UselessAssignments.oops() CORRECTNESS DLS_OVERWRITTEN_INCREMENT 24 High
Double assignment of field g1 in new UselessAssignments(int, int) STYLE SA_FIELD_DOUBLE_ASSIGNMENT 12 Medium
Double assignment of field foo in UselessAssignments.oops() STYLE SA_FIELD_DOUBLE_ASSIGNMENT 25 Medium
Double assignment of field foo in UselessAssignments.report(UselessAssignments, UselessAssignments) STYLE SA_FIELD_DOUBLE_ASSIGNMENT 31 Medium
Double assignment of field bar in UselessAssignments.setFoo(UselessAssignments, UselessAssignments) STYLE SA_FIELD_DOUBLE_ASSIGNMENT 18 Medium
Self assignment of field foo in new UselessAssignments(int, int) CORRECTNESS SA_FIELD_SELF_ASSIGNMENT 10 High
Self assignment of field foo in UselessAssignments.oops() CORRECTNESS SA_FIELD_SELF_ASSIGNMENT 25 High
Double assignment of $L3 in new UselessAssignments(int, int) STYLE SA_LOCAL_DOUBLE_ASSIGNMENT 13 Medium
Self assignment of $L2 in new UselessAssignments(int, int) STYLE SA_LOCAL_SELF_ASSIGNMENT 11 Medium
Unread field: UselessAssignments.bar PERFORMANCE URF_UNREAD_FIELD 18 Medium
Unread field: UselessAssignments.g1 PERFORMANCE URF_UNREAD_FIELD 12 Medium
Uninitialized read of foo in new UselessAssignments(int, int) CORRECTNESS UR_UNINIT_READ 10 High
Unused field: UselessAssignments.g2 PERFORMANCE UUF_UNUSED_FIELD Not available Medium

UselessControlFlow

Spotbug Results
Bug Category Details Line Priority
Useless control flow in UselessControlFlow.report2(Object, Object) STYLE UCF_USELESS_CONTROL_FLOW 23 Medium
Useless control flow to next line in UselessControlFlow.report0(Object, Object) STYLE UCF_USELESS_CONTROL_FLOW_NEXT_LINE 14 High
Useless control flow to next line in UselessControlFlow.report1(Object, Object) STYLE UCF_USELESS_CONTROL_FLOW_NEXT_LINE 18 High
Method UselessControlFlow.report4(Object[], Object) seems to be useless STYLE UC_USELESS_VOID_METHOD 40 Medium

UselessCurrentThread

Spotbug Results
Bug Category Details Line Priority
UselessCurrentThread.run() invokes static Thread.interrupted() method on thread instance CORRECTNESS STI_INTERRUPTED_ON_UNKNOWNTHREAD 29 Medium

UselessFinalize

Spotbug Results
Bug Category Details Line Priority
UselessFinalize.finalize() does nothing except call super.finalize(); delete it BAD_PRACTICE FI_USELESS 4-5 Medium

UserMistakes

Spotbug Results
Bug Category Details Line Priority
Dead store to $L3 in UserMistakes.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 31 Medium
Hard coded reference to an absolute pathname in UserMistakes.main(String[]) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 29 Medium
Found reliance on default encoding in UserMistakes.main(String[]): new java.io.FileReader(String) I18N DM_DEFAULT_ENCODING 29 High
"." or "|" used for regular expression in UserMistakes.main(String[]) CORRECTNESS RE_POSSIBLE_UNINTENDED_PATTERN 15 Medium
UserMistakes.main(String[]) discards result of readLine after checking if it is non-null STYLE RV_DONT_JUST_NULL_CHECK_READLINE 30 Medium

equals.ArrayEquality

Spotbug Results
Bug Category Details Line Priority
Calling String[].equals(String) in equals.ArrayEquality.reportProblemsWithArrayEquality(String[], String) CORRECTNESS EC_ARRAY_AND_NONARRAY 8 High
Calling String.equals(String[]) in equals.ArrayEquality.reportProblemsWithArrayEquality2(String[], String) CORRECTNESS EC_ARRAY_AND_NONARRAY 12 High
Using .equals to compare two String[]'s, (equivalent to ==) in equals.ArrayEquality.reportProblemsWithArrayEquality3(String[], String[]) CORRECTNESS EC_BAD_ARRAY_COMPARE 15 Medium
Using equals to compare a String[] and a String[][] in equals.ArrayEquality.reportProblemsWithArrayEquality4(String[][], String[]) CORRECTNESS EC_INCOMPATIBLE_ARRAY_COMPARE 18 Medium
Using equals to compare a String[][] and a String[] in equals.ArrayEquality.reportProblemsWithArrayEquality5(String[], String[][]) CORRECTNESS EC_INCOMPATIBLE_ARRAY_COMPARE 21 Medium
Using equals to compare a int[] and a String[] in equals.ArrayEquality.reportProblemsWithArrayEquality6(String[], int[]) CORRECTNESS EC_INCOMPATIBLE_ARRAY_COMPARE 24 Medium
Using equals to compare a String[] and a int[] in equals.ArrayEquality.reportProblemsWithArrayEquality7(int[], String[]) CORRECTNESS EC_INCOMPATIBLE_ARRAY_COMPARE 27 Medium
Using equals to compare a String[] and a StringBuffer[] in equals.ArrayEquality.reportProblemsWithArrayEquality8(StringBuffer[], String[]) CORRECTNESS EC_INCOMPATIBLE_ARRAY_COMPARE 30 Medium

gcUnrelatedTypes.AllListsCouldBeEqual

Spotbug Results
Bug Category Details Line Priority
Impossible cast from java.util.LinkedList to java.util.ArrayList in gcUnrelatedTypes.AllListsCouldBeEqual.main(String[]) CORRECTNESS BC_IMPOSSIBLE_CAST 134 High
Dead store to $L2 in gcUnrelatedTypes.AllListsCouldBeEqual.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 134 Medium
Null pointer dereference of ? in gcUnrelatedTypes.AllListsCouldBeEqual.main(String[]) CORRECTNESS NP_ALWAYS_NULL 138 High
Return value of java.util.Set.contains(Object) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 152 Medium
Return value of java.util.List.contains(Object) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 138 Medium

gcUnrelatedTypes.ArrayListContains

Spotbug Results
Bug Category Details Line Priority
String is incompatible with expected argument type ArrayListContains$Dummy in new gcUnrelatedTypes.ArrayListContains(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) CORRECTNESS GC_UNRELATED_TYPES 64 High
String is incompatible with expected argument type ArrayListContains$DummyChild in new gcUnrelatedTypes.ArrayListContains(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) CORRECTNESS GC_UNRELATED_TYPES 76 High
String is incompatible with expected argument type Object in new gcUnrelatedTypes.ArrayListContains(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) CORRECTNESS GC_UNRELATED_TYPES 72 High
String is incompatible with expected argument type ArrayListContains$Dummy in gcUnrelatedTypes.ArrayListContains.testFields() CORRECTNESS GC_UNRELATED_TYPES 116 High
String is incompatible with expected argument type ArrayListContains$Dummy in gcUnrelatedTypes.ArrayListContains.testFields() CORRECTNESS GC_UNRELATED_TYPES 112 High
String is incompatible with expected argument type ArrayListContains$DummyChild in gcUnrelatedTypes.ArrayListContains.testFields() CORRECTNESS GC_UNRELATED_TYPES 128 High
String is incompatible with expected argument type ArrayListContains$DummyChild in gcUnrelatedTypes.ArrayListContains.testFields() CORRECTNESS GC_UNRELATED_TYPES 124 High
String is incompatible with expected argument type Object in gcUnrelatedTypes.ArrayListContains.testFields() CORRECTNESS GC_UNRELATED_TYPES 132 High
String is incompatible with expected argument type Object in gcUnrelatedTypes.ArrayListContains.testFields() CORRECTNESS GC_UNRELATED_TYPES 120 High
Return value of java.util.ArrayList.contains(Object) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 58 Medium
Return value of java.util.ArrayList.contains(Object) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 106 Medium

gcUnrelatedTypes.ArrayListContains0

Spotbug Results
Bug Category Details Line Priority
Dead store to $L11 in new gcUnrelatedTypes.ArrayListContains0(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) STYLE DLS_DEAD_LOCAL_STORE 42 High
String is incompatible with expected argument type ArrayListContains0$Dummy in new gcUnrelatedTypes.ArrayListContains0(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) CORRECTNESS GC_UNRELATED_TYPES 48 High
String is incompatible with expected argument type ArrayListContains0$DummyChild in new gcUnrelatedTypes.ArrayListContains0(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) CORRECTNESS GC_UNRELATED_TYPES 54 High
String is incompatible with expected argument type Object in new gcUnrelatedTypes.ArrayListContains0(ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList, ArrayList) CORRECTNESS GC_UNRELATED_TYPES 52 High
Return value of java.util.ArrayList.contains(Object) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 46 Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.childEF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.childF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.childSF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.dummyEF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.dummyF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.dummySF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.genericEF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.genericF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.genericSF PERFORMANCE UUF_UNUSED_FIELD Not available Medium
Unused field: gcUnrelatedTypes.ArrayListContains0.wildcardF PERFORMANCE UUF_UNUSED_FIELD Not available Medium

npe.UseCheckUse

Spotbug Results
Bug Category Details Line Priority
Nullcheck of UseCheckUse.x at line 10 of value previously dereferenced in npe.UseCheckUse.f(boolean) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 9 High

nullnessAnnotations.UseAnnotations

Spotbug Results
Bug Category Details Line Priority
Null pointer dereference of ? in nullnessAnnotations.UseAnnotations.bar2() CORRECTNESS NP_ALWAYS_NULL 36 High
Null passed for non-null parameter of g(Object) in nullnessAnnotations.UseAnnotations.foo2() CORRECTNESS NP_NONNULL_PARAM_VIOLATION 20 High
Possible null pointer dereference of ? in nullnessAnnotations.UseAnnotations.bar3(int) CORRECTNESS NP_NULL_ON_SOME_PATH 41 Medium
Possible null pointer dereference of ? in nullnessAnnotations.UseAnnotations.bar4(int) CORRECTNESS NP_NULL_ON_SOME_PATH 46 Medium
Possible null pointer dereference in nullnessAnnotations.UseAnnotations.bar() due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 32 Medium
Possible null pointer dereference in nullnessAnnotations.UseAnnotations.foo() due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 17 Medium
Possible null pointer dereference in nullnessAnnotations.UseAnnotations.foo4() due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 28 Medium
Null passed for non-null parameter of g(Object) in nullnessAnnotations.UseAnnotations.foo3(int) CORRECTNESS NP_NULL_PARAM_DEREF 25 Medium

com.github.spotbugs.spotbugs-maven-plugin.it.App

Spotbug Results
Bug Category Details Line Priority
com.github.spotbugs.spotbugs-maven-plugin.it.App.clone() does not call super.clone() BAD_PRACTICE CN_IDIOM_NO_SUPER_CALL 21 Medium
com.github.spotbugs.spotbugs-maven-plugin.it.App.clone() may return null BAD_PRACTICE NP_CLONE_COULD_RETURN_NULL 21 Medium