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 |
32 |
22 |
0 |
0 |
nl.tudelft.simulation.dsol.animation.StaticLocation2d
Bug |
Category |
Details |
Line |
Priority |
nl.tudelft.simulation.dsol.animation.StaticLocation2d doesn't override org.djutils.draw.point.OrientedPoint2d.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
nl.tudelft.simulation.dsol.animation.StaticLocation3d
Bug |
Category |
Details |
Line |
Priority |
nl.tudelft.simulation.dsol.animation.StaticLocation3d doesn't override org.djutils.draw.point.OrientedPoint3d.equals(Object) |
STYLE |
EQ_DOESNT_OVERRIDE_EQUALS |
1 |
Medium |
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable
Bug |
Category |
Details |
Line |
Priority |
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable.cache is or uses a map or set of URLs, which can be a performance hog |
PERFORMANCE |
DMI_COLLECTION_OF_URLS |
Not available |
High |
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable.readImages(URL[]) is or uses a map or set of URLs, which can be a performance hog |
PERFORMANCE |
DMI_COLLECTION_OF_URLS |
111 |
High |
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable.getImages() may expose internal representation by returning ImageRenderable.imageIcons |
MALICIOUS_CODE |
EI_EXPOSE_REP |
201 |
Medium |
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable's readObject method is synchronized |
MT_CORRECTNESS |
RS_READOBJECT_SYNC |
277-283 |
Medium |
Static field "cache" is modified by an instance level synchronized method. |
MT_CORRECTNESS |
SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA |
280 |
Medium |
nl.tudelft.simulation.dsol.animation.d2.Renderable2d
Bug |
Category |
Details |
Line |
Priority |
Exception thrown in class nl.tudelft.simulation.dsol.animation.d2.Renderable2d at new nl.tudelft.simulation.dsol.animation.d2.Renderable2d(Locatable, Contextualized) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
87 |
Medium |
nl.tudelft.simulation.dsol.animation.d2.Renderable2dComparator
Bug |
Category |
Details |
Line |
Priority |
nl.tudelft.simulation.dsol.animation.d2.Renderable2dComparator.compare(Renderable2dInterface, Renderable2dInterface) incorrectly handles double value |
BAD_PRACTICE |
CO_COMPARETO_INCORRECT_FLOATING |
39 |
Medium |
nl.tudelft.simulation.dsol.animation.d2.Renderable2dComparator implements Comparator but not Serializable |
BAD_PRACTICE |
SE_COMPARATOR_SHOULD_BE_SERIALIZABLE |
17-49 |
Medium |
nl.tudelft.simulation.dsol.animation.d2.RenderableScale
Bug |
Category |
Details |
Line |
Priority |
Exception thrown in class nl.tudelft.simulation.dsol.animation.d2.RenderableScale at new nl.tudelft.simulation.dsol.animation.d2.RenderableScale() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
69 |
Medium |
Exception thrown in class nl.tudelft.simulation.dsol.animation.d2.RenderableScale at new nl.tudelft.simulation.dsol.animation.d2.RenderableScale(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
60 |
Medium |
Exception thrown in class nl.tudelft.simulation.dsol.animation.d2.RenderableScale at new nl.tudelft.simulation.dsol.animation.d2.RenderableScale(double, double) 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.dsol.animation.gis.GisObject
Bug |
Category |
Details |
Line |
Priority |
nl.tudelft.simulation.dsol.animation.gis.GisObject.getAttributeValues() may expose internal representation by returning GisObject.attributes |
MALICIOUS_CODE |
EI_EXPOSE_REP |
52 |
Medium |
new nl.tudelft.simulation.dsol.animation.gis.GisObject(Object, String[]) may expose internal representation by storing an externally mutable object into GisObject.attributes |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
34 |
Medium |
nl.tudelft.simulation.dsol.animation.gis.SerializableRectangle2d$Double
nl.tudelft.simulation.dsol.animation.gis.SerializableRectangle2d$Float
nl.tudelft.simulation.dsol.animation.graph.DoubleAppendList$DoubleAppendIterator
Bug |
Category |
Details |
Line |
Priority |
Should nl.tudelft.simulation.dsol.animation.graph.DoubleAppendList$DoubleAppendIterator be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
108-137 |
Medium |
nl.tudelft.simulation.dsol.animation.graph.FloatAppendList$FloatAppendIterator
Bug |
Category |
Details |
Line |
Priority |
Should nl.tudelft.simulation.dsol.animation.graph.FloatAppendList$FloatAppendIterator be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
108-137 |
Medium |
nl.tudelft.simulation.dsol.animation.interpolation.ColorInterpolation
Bug |
Category |
Details |
Line |
Priority |
Exception thrown in class nl.tudelft.simulation.dsol.animation.interpolation.ColorInterpolation at new nl.tudelft.simulation.dsol.animation.interpolation.ColorInterpolation(Color, Color, double, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
56 |
Medium |
nl.tudelft.simulation.dsol.animation.interpolation.LinearInterpolation
Bug |
Category |
Details |
Line |
Priority |
Exception thrown in class nl.tudelft.simulation.dsol.animation.interpolation.LinearInterpolation at new nl.tudelft.simulation.dsol.animation.interpolation.LinearInterpolation(double, double, OrientedPoint3d, OrientedPoint3d) 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 |