The following document contains the results of SpotBugs
SpotBugs Version is 4.8.4
Threshold is medium
Effort is default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
32 | 22 | 0 | 0 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method readDouble is called from readObject. | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT | 169 | Medium |
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 |
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 |
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 |
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 |
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 |