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
32 22 0 0

Files

Class Bugs
nl.tudelft.simulation.dsol.animation.StaticLocation2d 1
nl.tudelft.simulation.dsol.animation.StaticLocation3d 1
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable 5
nl.tudelft.simulation.dsol.animation.d2.Renderable2d 1
nl.tudelft.simulation.dsol.animation.d2.Renderable2dComparator 2
nl.tudelft.simulation.dsol.animation.d2.RenderableScale 3
nl.tudelft.simulation.dsol.animation.gis.GisObject 2
nl.tudelft.simulation.dsol.animation.gis.SerializableRectangle2d$Double 1
nl.tudelft.simulation.dsol.animation.gis.SerializableRectangle2d$Float 2
nl.tudelft.simulation.dsol.animation.graph.DoubleAppendList$DoubleAppendIterator 1
nl.tudelft.simulation.dsol.animation.graph.FloatAppendList$FloatAppendIterator 1
nl.tudelft.simulation.dsol.animation.interpolation.ColorInterpolation 1
nl.tudelft.simulation.dsol.animation.interpolation.LinearInterpolation 1

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

Bug Category Details Line Priority
Overridable method readDouble is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 169 Medium

nl.tudelft.simulation.dsol.animation.gis.SerializableRectangle2d$Float

Bug Category Details Line Priority
Overridable method readDouble is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 319 Medium
Overridable method setRect is called from readObject. MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT 319 Medium

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