The following document contains the results of SpotBugs
SpotBugs Version is 4.7.1
Threshold is medium
Effort is default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
126 | 81 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.core.BoundsPaintScale.GREEN_RED is a mutable array | MALICIOUS_CODE | MS_MUTABLE_ARRAY | 25 | High |
org.opentrafficsim.draw.core.BoundsPaintScale.GREEN_RED_DARK is a mutable array | MALICIOUS_CODE | MS_MUTABLE_ARRAY | 29 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.core.TextProperties.getTextAttributes() may expose internal representation by returning TextProperties.textAttributes | MALICIOUS_CODE | EI_EXPOSE_REP | 106 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.AbstractContourPlot.getBlockRenderer() may expose internal representation by returning AbstractContourPlot.blockRenderer | MALICIOUS_CODE | EI_EXPOSE_REP | 348 | Medium |
org.opentrafficsim.draw.graphs.AbstractContourPlot.getDataPool() may expose internal representation by returning AbstractContourPlot.dataPool | MALICIOUS_CODE | EI_EXPOSE_REP | 200 | Medium |
new org.opentrafficsim.draw.graphs.AbstractContourPlot(String, OtsSimulatorInterface, ContourDataSource, BoundsPaintScale, Number, String, String) may expose internal representation by storing an externally mutable object into AbstractContourPlot.dataPool | MALICIOUS_CODE | EI_EXPOSE_REP2 | 71 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.graphs.AbstractGraphSpace(List) may expose internal representation by storing an externally mutable object into AbstractGraphSpace.seriesNames | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.AbstractPlot.getChart() may expose internal representation by returning AbstractPlot.chart | MALICIOUS_CODE | EI_EXPOSE_REP | 237 | Medium |
org.opentrafficsim.draw.graphs.AbstractPlot.getUpdateTime() may expose internal representation by returning AbstractPlot.updateTime | MALICIOUS_CODE | EI_EXPOSE_REP | 292 | Medium |
new org.opentrafficsim.draw.graphs.AbstractPlot(OtsSimulatorInterface, String, Duration, Duration) may expose internal representation by storing an externally mutable object into AbstractPlot.delay | MALICIOUS_CODE | EI_EXPOSE_REP2 | 107 | Medium |
new org.opentrafficsim.draw.graphs.AbstractPlot(OtsSimulatorInterface, String, Duration, Duration) may expose internal representation by storing an externally mutable object into AbstractPlot.updateInterval | MALICIOUS_CODE | EI_EXPOSE_REP2 | 106 | Medium |
org.opentrafficsim.draw.graphs.AbstractPlot.setUpdateInterval(Duration) may expose internal representation by storing an externally mutable object into AbstractPlot.updateInterval | MALICIOUS_CODE | EI_EXPOSE_REP2 | 281 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.graphs.AbstractSamplerPlot(String, Duration, OtsSimulatorInterface, SamplerData, GraphPath, Duration) may expose internal representation by storing an externally mutable object into AbstractSamplerPlot.samplerData | MALICIOUS_CODE | EI_EXPOSE_REP2 | 56 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.graphs.AbstractSpaceTimePlot(String, Duration, OtsSimulatorInterface, Duration, Time) may expose internal representation by storing an externally mutable object into AbstractSpaceTimePlot.initialEnd | MALICIOUS_CODE | EI_EXPOSE_REP2 | 50 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.ContourDataSource.getSamplerData() may expose internal representation by returning ContourDataSource.samplerData | MALICIOUS_CODE | EI_EXPOSE_REP | 246 | Medium |
new org.opentrafficsim.draw.graphs.ContourDataSource(SamplerData, Duration, GraphPath, double[], int, double[], int, Time, Time) may expose internal representation by storing an externally mutable object into ContourDataSource.delay | MALICIOUS_CODE | EI_EXPOSE_REP2 | 223 | Medium |
new org.opentrafficsim.draw.graphs.ContourDataSource(SamplerData, Duration, GraphPath, double[], int, double[], int, Time, Time) may expose internal representation by storing an externally mutable object into ContourDataSource.samplerData | MALICIOUS_CODE | EI_EXPOSE_REP2 | 221 | Medium |
Inconsistent synchronization of org.opentrafficsim.draw.graphs.ContourDataSource.redo; locked 75% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 792 | Medium |
Inconsistent synchronization of org.opentrafficsim.draw.graphs.ContourDataSource.smooth; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 441 | Medium |
Inconsistent synchronization of org.opentrafficsim.draw.graphs.ContourDataSource.toTime; locked 83% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 509 | Medium |
org.opentrafficsim.draw.graphs.ContourDataSource.DEFAULT_SPACE_GRANULARITIES should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 55 | Medium |
org.opentrafficsim.draw.graphs.ContourDataSource.DEFAULT_TIME_GRANULARITIES should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 61 | Medium |
Method org.opentrafficsim.draw.graphs.ContourDataSource.setStatusLabel(String) seems to be useless | STYLE | UC_USELESS_VOID_METHOD | 895 | Medium |
org.opentrafficsim.draw.graphs.ContourDataSource.getGranularity(ContourDataSource$Dimension) is unsynchronized, org.opentrafficsim.draw.graphs.ContourDataSource.setGranularity(ContourDataSource$Dimension, double) is synchronized | MT_CORRECTNESS | UG_SYNC_SET_UNSYNC_GET | 362 | Medium |
org.opentrafficsim.draw.graphs.ContourDataSource.update(Time) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 769 | Medium |
org.opentrafficsim.draw.graphs.ContourDataSource.update(Time) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 786 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.FundamentalDiagram.getLaneVisible() may expose internal representation by returning FundamentalDiagram.laneVisible | MALICIOUS_CODE | EI_EXPOSE_REP | 1428 | Medium |
org.opentrafficsim.draw.graphs.FundamentalDiagram.getLegend() may expose internal representation by returning FundamentalDiagram.legend | MALICIOUS_CODE | EI_EXPOSE_REP | 1419 | Medium |
org.opentrafficsim.draw.graphs.FundamentalDiagram.getSource() may expose internal representation by returning FundamentalDiagram.source | MALICIOUS_CODE | EI_EXPOSE_REP | 1410 | Medium |
new org.opentrafficsim.draw.graphs.FundamentalDiagram(String, FundamentalDiagram$Quantity, FundamentalDiagram$Quantity, OtsSimulatorInterface, FundamentalDiagram$FdSource, FundamentalDiagram$FdLine) may expose internal representation by storing an externally mutable object into FundamentalDiagram.source | MALICIOUS_CODE | EI_EXPOSE_REP2 | 113 | Medium |
org.opentrafficsim.draw.graphs.FundamentalDiagram.DEFAULT_PERIODS should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 56 | Medium |
org.opentrafficsim.draw.graphs.FundamentalDiagram.DEFAULT_UPDATE_FREQUENCIES should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 59 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Inconsistent synchronization of org.opentrafficsim.draw.graphs.FundamentalDiagram$AbstractSpaceSamplerFdSource.firstMeasurement; locked 75% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 1147 | Medium |
Inconsistent synchronization of org.opentrafficsim.draw.graphs.FundamentalDiagram$AbstractSpaceSamplerFdSource.secondMeasurement; locked 71% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 1147 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Possible null pointer dereference of sources in new org.opentrafficsim.draw.graphs.FundamentalDiagram$MultiFdSource(Map) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 1217 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.graphs.GraphCrossSection(List, GraphPath$Section, List) may expose internal representation by storing an externally mutable object into GraphCrossSection.positions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 69 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.GraphPath.getSpeedLimit() may expose internal representation by returning GraphPath.speedLimit | MALICIOUS_CODE | EI_EXPOSE_REP | 116 | Medium |
org.opentrafficsim.draw.graphs.GraphPath.getTotalLength() may expose internal representation by returning GraphPath.totalLength | MALICIOUS_CODE | EI_EXPOSE_REP | 107 | Medium |
new org.opentrafficsim.draw.graphs.GraphPath(List, List) may expose internal representation by storing an externally mutable object into GraphPath.sections | MALICIOUS_CODE | EI_EXPOSE_REP2 | 73 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.GraphPath$Section.getLength() may expose internal representation by returning GraphPath$Section.length | MALICIOUS_CODE | EI_EXPOSE_REP | 262 | Medium |
org.opentrafficsim.draw.graphs.GraphPath$Section.getSpeedLimit() may expose internal representation by returning GraphPath$Section.speedLimit | MALICIOUS_CODE | EI_EXPOSE_REP | 271 | Medium |
new org.opentrafficsim.draw.graphs.GraphPath$Section(Length, Speed, List) may expose internal representation by storing an externally mutable object into GraphPath$Section.length | MALICIOUS_CODE | EI_EXPOSE_REP2 | 251 | Medium |
new org.opentrafficsim.draw.graphs.GraphPath$Section(Length, Speed, List) may expose internal representation by storing an externally mutable object into GraphPath$Section.objects | MALICIOUS_CODE | EI_EXPOSE_REP2 | 253 | Medium |
new org.opentrafficsim.draw.graphs.GraphPath$Section(Length, Speed, List) may expose internal representation by storing an externally mutable object into GraphPath$Section.speedLimit | MALICIOUS_CODE | EI_EXPOSE_REP2 | 252 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Exceptional return value of java.util.concurrent.BlockingQueue.offer(Object) ignored in org.opentrafficsim.draw.graphs.GraphUpdater.offer(Object) | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 68 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.TrajectoryPlot.getLaneVisible() may expose internal representation by returning TrajectoryPlot.laneVisible | MALICIOUS_CODE | EI_EXPOSE_REP | 597 | Medium |
org.opentrafficsim.draw.graphs.TrajectoryPlot.getLegend() may expose internal representation by returning TrajectoryPlot.legend | MALICIOUS_CODE | EI_EXPOSE_REP | 588 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Should org.opentrafficsim.draw.graphs.TrajectoryPlot$OffsetTrajectory be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 473-568 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.graphs.XyInterpolatedBlockRenderer doesn't override org.jfree.chart.renderer.xy.XYBlockRenderer.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 1 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Integral division result cast to double or float in org.opentrafficsim.draw.graphs.XyInterpolatedBlockRenderer$1$1.getRaster(int, int, int, int) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 182 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.core.animation.gtu.colorer.IdGtuColorer stored into non-transient field DefaultCarAnimation.gtuColorer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 105 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.gtu.DefaultCarAnimation$Text(DefaultCarAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into DefaultCarAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 298 | Medium |
new org.opentrafficsim.draw.gtu.DefaultCarAnimation$Text(DefaultCarAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface, TextAnimation$ContrastToBackground) may expose internal representation by storing an externally mutable object into DefaultCarAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 318 | Medium |
Potentially ambiguous invocation of either an outer or inherited method org.opentrafficsim.draw.core.TextAnimation.destroy(Contextualized) in org.opentrafficsim.draw.gtu.DefaultCarAnimation$Text.paint(Graphics2D, ImageObserver) | STYLE | IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD | 334 | High |
Should org.opentrafficsim.draw.gtu.DefaultCarAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 276-367 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.lane.LaneStructureLocatable.getGtu() may expose internal representation by returning LaneStructureLocatable.gtu | MALICIOUS_CODE | EI_EXPOSE_REP | 85 | Medium |
org.opentrafficsim.draw.lane.LaneStructureLocatable.getRollingLaneStructure() may expose internal representation by returning LaneStructureLocatable.rollingLaneStructure | MALICIOUS_CODE | EI_EXPOSE_REP | 77 | Medium |
new org.opentrafficsim.draw.lane.LaneStructureLocatable(RollingLaneStructure, Gtu) may expose internal representation by storing an externally mutable object into LaneStructureLocatable.gtu | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
new org.opentrafficsim.draw.lane.LaneStructureLocatable(RollingLaneStructure, Gtu) may expose internal representation by storing an externally mutable object into LaneStructureLocatable.rollingLaneStructure | MALICIOUS_CODE | EI_EXPOSE_REP2 | 38 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.network.LinkAnimation$Text(LinkAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface, TextAnimation$ScaleDependentRendering) may expose internal representation by storing an externally mutable object into LinkAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 154 | Medium |
Should org.opentrafficsim.draw.network.LinkAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 134-177 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.network.NodeAnimation$ElevatedNode.getNode() may expose internal representation by returning NodeAnimation$ElevatedNode.node | MALICIOUS_CODE | EI_EXPOSE_REP | 129 | Medium |
org.opentrafficsim.draw.network.NodeAnimation$ElevatedNode.getParentIntrospectionObject() may expose internal representation by returning NodeAnimation$ElevatedNode.node | MALICIOUS_CODE | EI_EXPOSE_REP | 143 | Medium |
new org.opentrafficsim.draw.network.NodeAnimation$ElevatedNode(Node) may expose internal representation by storing an externally mutable object into NodeAnimation$ElevatedNode.node | MALICIOUS_CODE | EI_EXPOSE_REP2 | 111 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.network.NodeAnimation$Text(NodeAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface, TextAnimation$ScaleDependentRendering) may expose internal representation by storing an externally mutable object into NodeAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 180 | Medium |
Should org.opentrafficsim.draw.network.NodeAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 180-190 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.road.BusStopAnimation$Text(BusStopAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into BusStopAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 106 | Medium |
Should org.opentrafficsim.draw.road.BusStopAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 106-114 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.road.DetectorAnimation.getText() may expose internal representation by returning DetectorAnimation.text | MALICIOUS_CODE | EI_EXPOSE_REP | 66 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.road.DetectorAnimation$Text(DetectorAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into DetectorAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 122 | Medium |
Should org.opentrafficsim.draw.road.DetectorAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 122-130 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.road.GtuGeneratorPositionAnimation$Queue(GtuGeneratorPositionAnimation, Locatable, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into GtuGeneratorPositionAnimation$Queue.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 111 | Medium |
Should org.opentrafficsim.draw.road.GtuGeneratorPositionAnimation$Queue be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 98-137 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.road.LaneAnimation.getText() may expose internal representation by returning LaneAnimation.text | MALICIOUS_CODE | EI_EXPOSE_REP | 68 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.road.LaneAnimation$Text(LaneAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into LaneAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 201 | Medium |
Should org.opentrafficsim.draw.road.LaneAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 182-224 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 79 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.opentrafficsim.draw.road.TrafficLightAnimation.getText() may expose internal representation by returning TrafficLightAnimation.text | MALICIOUS_CODE | EI_EXPOSE_REP | 62 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.road.TrafficLightAnimation$Text(TrafficLightAnimation, Locatable, String, float, float, TextAlignment, Color, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into TrafficLightAnimation$Text.this$0 | MALICIOUS_CODE | EI_EXPOSE_REP2 | 142 | Medium |
Should org.opentrafficsim.draw.road.TrafficLightAnimation$Text be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 142-150 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.opentrafficsim.draw.road.TrafficLightDetectorAnimation(TrafficLightDetector, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into TrafficLightDetectorAnimation.detector | MALICIOUS_CODE | EI_EXPOSE_REP2 | 53 | Medium |