SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.4

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
34 20 0 0

Files

Class Bugs
nl.tudelft.simulation.language.concurrent.Monitor$MonitorThread 2
nl.tudelft.simulation.language.d2.Circle 1
nl.tudelft.simulation.language.filters.CompositeFilter 1
nl.tudelft.simulation.language.reflection.SerializableConstructor 5
nl.tudelft.simulation.language.reflection.SerializableField 5
nl.tudelft.simulation.language.reflection.SerializableMethod 5
nl.tudelft.simulation.language.util.BitUtil 1

nl.tudelft.simulation.language.concurrent.Monitor$MonitorThread

Bug Category Details Line Priority
Unconditional wait in new nl.tudelft.simulation.language.concurrent.Monitor$MonitorThread(Thread, Object) MT_CORRECTNESS UW_UNCOND_WAIT 156 Medium
Wait not in loop in new nl.tudelft.simulation.language.concurrent.Monitor$MonitorThread(Thread, Object) MT_CORRECTNESS WA_NOT_IN_LOOP 156 Medium

nl.tudelft.simulation.language.d2.Circle

Bug Category Details Line Priority
Test for floating point equality in nl.tudelft.simulation.language.d2.Circle.intersection(Point2D, double, Point2D, double) STYLE FE_FLOATING_POINT_EQUALITY 52 High

nl.tudelft.simulation.language.filters.CompositeFilter

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.language.filters.CompositeFilter at new nl.tudelft.simulation.language.filters.CompositeFilter(FilterInterface, FilterInterface, CompositeFilter$Operator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 70 Medium

nl.tudelft.simulation.language.reflection.SerializableConstructor

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.language.reflection.SerializableConstructor at new nl.tudelft.simulation.language.reflection.SerializableConstructor(Class, Class[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 45 Medium
nl.tudelft.simulation.language.reflection.SerializableConstructor.deSerialize() may expose internal representation by returning SerializableConstructor.constructor MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
new nl.tudelft.simulation.language.reflection.SerializableConstructor(Constructor) may expose internal representation by storing an externally mutable object into SerializableConstructor.constructor MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium
Overridable method getMessage is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 90 Medium
Overridable method getParameterTypes is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 86 Medium

nl.tudelft.simulation.language.reflection.SerializableField

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.language.reflection.SerializableField at new nl.tudelft.simulation.language.reflection.SerializableField(Class, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 46 Medium
nl.tudelft.simulation.language.reflection.SerializableField.deSerialize() may expose internal representation by returning SerializableField.field MALICIOUS_CODE EI_EXPOSE_REP 55 Medium
new nl.tudelft.simulation.language.reflection.SerializableField(Field) may expose internal representation by storing an externally mutable object into SerializableField.field MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium
Overridable method getMessage is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 91 Medium
Overridable method getStringValue is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 87 Medium

nl.tudelft.simulation.language.reflection.SerializableMethod

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.language.reflection.SerializableMethod at new nl.tudelft.simulation.language.reflection.SerializableMethod(Class, String, Class[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 47 Medium
nl.tudelft.simulation.language.reflection.SerializableMethod.deSerialize() may expose internal representation by returning SerializableMethod.method MALICIOUS_CODE EI_EXPOSE_REP 56 Medium
new nl.tudelft.simulation.language.reflection.SerializableMethod(Method) may expose internal representation by storing an externally mutable object into SerializableMethod.method MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium
Overridable method getMessage is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 94 Medium
Overridable method getParameterTypes is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 90 Medium

nl.tudelft.simulation.language.util.BitUtil

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive nl.tudelft.simulation.language.util.BitUtil.fromString(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 138 High