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

Classes Bugs Errors Missing Classes
44 92 0 0

AbstractMissingHashCode$StillMissingHashCode

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

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

AccidentalNonConstructorInInnerClass$Report

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

AppendingToAnObjectOutputStream

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

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

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

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

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

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

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

UselessFinalize

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

UserMistakes

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

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

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

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

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

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

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

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