SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.9.4
Threshold is medium
Effort is default
Summary
| Classes | Bugs | Errors | Missing Classes |
|---|---|---|---|
| 33 | 52 | 0 | 0 |
Files
AbstractMissingHashCode$Concrete
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| AbstractMissingHashCode$Concrete.equals(Object) is unusual | STYLE | EQ_UNUSUAL | 33-36 | Medium |
| Unused public or protected field: AbstractMissingHashCode$Concrete.z | STYLE | UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD | Not available | Medium |
AbstractMissingHashCode$ConcreteMissingEquals
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| AbstractMissingHashCode$ConcreteMissingEquals doesn't override AbstractMissingHashCode$Concrete.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 1 | Medium |
| Unused field: AbstractMissingHashCode$ConcreteMissingEquals.z | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
AbstractMissingHashCode$StillMissingHashCode
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| AbstractMissingHashCode$StillMissingHashCode inherits equals and uses Object.hashCode() | BAD_PRACTICE | HE_INHERITS_EQUALS_USE_HASHCODE | 16 | 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-5 | 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 | 14 | 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 | 28 | High |
| Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject4(String, Object) | CORRECTNESS | IO_APPENDING_TO_OBJECT_OUTPUT_STREAM | 35 | High |
ArrayToString
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Invocation of toString on an unnamed array in ArrayToString.print2() | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY | 28 | Medium |
| Invocation of toString on ? in ArrayToString.print0(String[]) | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ARRAY | 17 | Medium |
| Invocation of toString on ? in ArrayToString.print1() | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ARRAY | 23 | Medium |
| Invocation of toString on gargs in ArrayToString.print3() | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ARRAY | 33 | 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 | 16 | Medium |
| UseOfNonHashableClassInHashDataStructure defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 16 | 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 | 24 | High |
| UseOfNonHashableClassInHashDataStructure.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 16 | Medium |
UseOfNonHashableClassInHashDataStructure$UMap
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| UseOfNonHashableClassInHashDataStructure doesn't define a hashCode() method but it is used in a hashed context in UseOfNonHashableClassInHashDataStructure$UMap | CORRECTNESS | HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS | 5 | High |
UselessAssignments
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to $L2 in new UselessAssignments(int, int) | STYLE | DLS_DEAD_LOCAL_STORE | 17 | Medium |
| Overwritten increment in UselessAssignments.oops() | CORRECTNESS | DLS_OVERWRITTEN_INCREMENT | 30 | High |
| Double assignment of field g1 in new UselessAssignments(int, int) | STYLE | SA_FIELD_DOUBLE_ASSIGNMENT | 18 | Medium |
| Double assignment of field foo in UselessAssignments.oops() | STYLE | SA_FIELD_DOUBLE_ASSIGNMENT | 31 | Medium |
| Double assignment of field foo in UselessAssignments.report(UselessAssignments, UselessAssignments) | STYLE | SA_FIELD_DOUBLE_ASSIGNMENT | 37 | Medium |
| Double assignment of field bar in UselessAssignments.setFoo(UselessAssignments, UselessAssignments) | STYLE | SA_FIELD_DOUBLE_ASSIGNMENT | 24 | Medium |
| Self assignment of field foo in new UselessAssignments(int, int) | CORRECTNESS | SA_FIELD_SELF_ASSIGNMENT | 16 | High |
| Self assignment of field foo in UselessAssignments.oops() | CORRECTNESS | SA_FIELD_SELF_ASSIGNMENT | 31 | High |
| Double assignment of $L3 in new UselessAssignments(int, int) | STYLE | SA_LOCAL_DOUBLE_ASSIGNMENT | 19 | Medium |
| Self assignment of $L2 in new UselessAssignments(int, int) | STYLE | SA_LOCAL_SELF_ASSIGNMENT | 17 | Medium |
| Unread field: UselessAssignments.bar | PERFORMANCE | URF_UNREAD_FIELD | 24 | Medium |
| Unread field: UselessAssignments.g1 | PERFORMANCE | URF_UNREAD_FIELD | 18 | Medium |
| Uninitialized read of foo in new UselessAssignments(int, int) | CORRECTNESS | UR_UNINIT_READ | 16 | High |
| Unused field: UselessAssignments.g2 | PERFORMANCE | UUF_UNUSED_FIELD | Not available | Medium |
UselessControlFlow
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Useless control flow in UselessControlFlow.report0(Object, Object) | STYLE | UCF_USELESS_CONTROL_FLOW | 14 | Medium |
| Useless control flow in UselessControlFlow.report1(Object, Object) | STYLE | UCF_USELESS_CONTROL_FLOW | 21 | Medium |
| Method UselessControlFlow.report4(Object[], Object) seems to be useless | STYLE | UC_USELESS_VOID_METHOD | 48 | Medium |
UselessCurrentThread
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to $L1 in UselessCurrentThread.test4() | STYLE | DLS_DEAD_LOCAL_STORE | 42 | Medium |
| new UselessCurrentThread(Thread) may expose internal representation by storing an externally mutable object into unknownThread | MALICIOUS_CODE | EI_EXPOSE_REP2 | 12 | Medium |
| UselessCurrentThread.test4() invokes static Thread.interrupted() method on thread instance | CORRECTNESS | STI_INTERRUPTED_ON_UNKNOWNTHREAD | 43 | Medium |
| UselessCurrentThread.test5() invokes static Thread.interrupted() method on thread instance | CORRECTNESS | STI_INTERRUPTED_ON_UNKNOWNTHREAD | 52 | 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 | 28 | Medium |
| Hard coded reference to an absolute pathname in UserMistakes.main(String[]) | STYLE | DMI_HARDCODED_ABSOLUTE_FILENAME | 26 | Medium |
| Found reliance on default encoding in UserMistakes.main(String[]): new java.io.FileReader(String) | I18N | DM_DEFAULT_ENCODING | 26 | High |
| "." or "|" used for regular expression in UserMistakes.main(String[]) | CORRECTNESS | RE_POSSIBLE_UNINTENDED_PATTERN | 14 | Medium |
| UserMistakes.main(String[]) discards result of readLine after checking if it is non-null | STYLE | RV_DONT_JUST_NULL_CHECK_READLINE | 27 | Medium |
org.codehaus.mojo.spotbugsmavenplugin.it.App
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.codehaus.mojo.spotbugsmavenplugin.it.App.clone() does not call super.clone() | BAD_PRACTICE | CN_IDIOM_NO_SUPER_CALL | 40 | Medium |
| org.codehaus.mojo.spotbugsmavenplugin.it.App.clone() may return null | BAD_PRACTICE | NP_CLONE_COULD_RETURN_NULL | 40 | Medium |
| Return value of java.util.Objects.isNull(Object) ignored, but method has no side effect | STYLE | RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT | 35 | Medium |