SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.1.4

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
111 30 0 0

Files

Class Bugs
org.djutils.event.EventProducerImpl 2
org.djutils.float128.DoubleDouble 5
org.djutils.float128.Float128 3
org.djutils.float128.TestHypotAtan 11
org.djutils.polynomialroots.PolynomialRoots 1
org.djutils.quadtree.QuadTree$SubTree 2
org.djutils.reflection.MethodSignature 1
org.djutils.traceverifier.TraceVerifier 5

org.djutils.event.EventProducerImpl

Bug Category Details Line Priority
Inconsistent synchronization of org.djutils.event.EventProducerImpl.listeners; locked 87% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 604 Medium
org.djutils.event.EventProducerImpl.removeAllListeners(Class) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 533 Medium

org.djutils.float128.DoubleDouble

Bug Category Details Line Priority
Dead store to exp in org.djutils.float128.DoubleDouble.valueOf(String) STYLE DLS_DEAD_LOCAL_STORE 55 Medium
Dead store to hi in org.djutils.float128.DoubleDouble.valueOf(String) STYLE DLS_DEAD_LOCAL_STORE 57 Medium
org.djutils.float128.DoubleDouble.valueOf(String) invokes substring(0), which returns the original value STYLE DMI_USELESS_SUBSTRING 55 Medium
Boxing/unboxing to parse a primitive org.djutils.float128.DoubleDouble.valueOf(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 55 High
org.djutils.float128.DoubleDouble defines compareTo(DoubleDouble) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 65 Medium

org.djutils.float128.Float128

Bug Category Details Line Priority
Rough value of Math.PI found: 3.141592653589 BAD_PRACTICE CNT_ROUGH_CONSTANT_VALUE 644 High
Boxing/unboxing to parse a primitive org.djutils.float128.Float128.of(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 612 High
org.djutils.float128.Float128.main(String[]) concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 636 Medium

org.djutils.float128.TestHypotAtan

Bug Category Details Line Priority
Return value of Math.atan2(double, double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 30 Medium
Return value of Math.cos(double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 33 Medium
Return value of Math.hypot(double, double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 31 Medium
Return value of Math.sin(double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 32 Medium
Return value of Math.sqrt(double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 34 Medium
Return value of atan2(double, double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 68 Medium
Return value of fastAtan(double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 79 Medium
Return value of hypotA(double, double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 103 Medium
Return value of hypotB(double, double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 115 Medium
Return value of hypotC(double, double) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 127 Medium
Private method org.djutils.float128.TestHypotAtan.__LO(double, int) is never called PERFORMANCE UPM_UNCALLED_PRIVATE_METHOD 665-666 Medium

org.djutils.polynomialroots.PolynomialRoots

Bug Category Details Line Priority
Dead store to p1 in org.djutils.polynomialroots.PolynomialRoots.cubicRoots(double, double, double, boolean) STYLE DLS_DEAD_LOCAL_STORE 462 Medium

org.djutils.quadtree.QuadTree$SubTree

Bug Category Details Line Priority
Invocation of toString on QuadTree$SubTree.children in org.djutils.quadtree.QuadTree$SubTree.toString() CORRECTNESS DMI_INVOKING_TOSTRING_ON_ARRAY 533 High
org.djutils.quadtree.QuadTree$SubTree is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 275-602 Medium

org.djutils.reflection.MethodSignature

Bug Category Details Line Priority
org.djutils.reflection.MethodSignature.getParameterTypes(String) concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 146 Medium

org.djutils.traceverifier.TraceVerifier

Bug Category Details Line Priority
Found reliance on default encoding in new org.djutils.traceverifier.TraceVerifier(String): new java.io.FileReader(String) I18N DM_DEFAULT_ENCODING 47 High
Found reliance on default encoding in new org.djutils.traceverifier.TraceVerifier(String): new java.io.FileWriter(String) I18N DM_DEFAULT_ENCODING 54 High
Found reliance on default encoding in org.djutils.traceverifier.TraceVerifier.sample(String, String): new java.io.FileWriter(String, boolean) I18N DM_DEFAULT_ENCODING 89 High
Dereference of the result of readLine() without nullcheck in org.djutils.traceverifier.TraceVerifier.sample(String, String) STYLE NP_DEREFERENCE_OF_READLINE_VALUE 73 Medium
Format string should use %n rather than \n in org.djutils.traceverifier.TraceVerifier.sample(String, String) BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 84 Medium