SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.8.6
Threshold is medium
Effort is default
Summary
Classes |
Bugs |
Errors |
Missing Classes |
34 |
20 |
0 |
0 |
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 |