SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.9.8

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
30 23 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 7
nl.tudelft.simulation.dsol.animation.d2.Renderable2dComparator 2
nl.tudelft.simulation.dsol.animation.d2.RenderableScale 3
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.DirectedPoint2d.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
Shared primitive variable "orientation" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 179 Medium
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 105 High
nl.tudelft.simulation.dsol.animation.d2.ImageRenderable.getImages() may expose internal representation by returning ImageRenderable.imageIcons MALICIOUS_CODE EI_EXPOSE_REP 187 Medium
Static field "cache" is modified by an instance level synchronized method. MT_CORRECTNESS SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA 266 Medium

nl.tudelft.simulation.dsol.animation.d2.Renderable2d

Bug Category Details Line Priority
Shared primitive variable "id" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 75 Medium
Shared primitive variable "flags" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 104 Medium
Shared primitive variable "flags" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 128 Medium
Shared primitive variable "flags" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 152 Medium
Shared primitive variable "flags" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 177 Medium
Shared primitive variable "flags" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 201 Medium
Shared primitive variable "flags" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 225 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 37 Medium
nl.tudelft.simulation.dsol.animation.d2.Renderable2dComparator implements Comparator but not Serializable BAD_PRACTICE SE_COMPARATOR_SHOULD_BE_SERIALIZABLE 16-47 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.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 103-130 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 103-130 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 55 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 46 Medium