SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.9.1

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
222 105 0 0

Files

Class Bugs
org.opentrafficsim.animation.BoundsPaintScale 2
org.opentrafficsim.animation.Colors 6
org.opentrafficsim.animation.RenderableTextSource 4
org.opentrafficsim.animation.TextProperties 1
org.opentrafficsim.animation.colorer.AccelerationColorer 1
org.opentrafficsim.animation.colorer.NumberFormatUnit 1
org.opentrafficsim.animation.colorer.SpeedColorer 1
org.opentrafficsim.animation.egtf.Egtf 2
org.opentrafficsim.animation.egtf.Egtf$DualWeightedMean 1
org.opentrafficsim.animation.egtf.Egtf$WeightedMean 1
org.opentrafficsim.animation.egtf.EgtfParallelListener 3
org.opentrafficsim.animation.egtf.FilterDouble 2
org.opentrafficsim.animation.graphs.AbstractContourPlot 2
org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState 5
org.opentrafficsim.animation.graphs.AbstractGraphSpace 1
org.opentrafficsim.animation.graphs.AbstractPlot 6
org.opentrafficsim.animation.graphs.AbstractSpaceTimePlot 1
org.opentrafficsim.animation.graphs.ContourDataSource 6
org.opentrafficsim.animation.graphs.ContourPlotExtendedData$UnitPlot 1
org.opentrafficsim.animation.graphs.DistributionPlotExtendedData 1
org.opentrafficsim.animation.graphs.DistributionPlotExtendedData$DistributionPaintState 2
org.opentrafficsim.animation.graphs.FdDataSource 3
org.opentrafficsim.animation.graphs.FdDataSource$AbstractFdDataSource 2
org.opentrafficsim.animation.graphs.FdDataSource$MultiFdSource 1
org.opentrafficsim.animation.graphs.FundamentalDiagram 4
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdPaintState 4
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries 6
org.opentrafficsim.animation.graphs.GraphCrossSection 1
org.opentrafficsim.animation.graphs.GraphPath 3
org.opentrafficsim.animation.graphs.GraphPath$Section 6
org.opentrafficsim.animation.graphs.PlotDelegate 4
org.opentrafficsim.animation.graphs.TrajectoryPlot 4
org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState 8
org.opentrafficsim.animation.graphs.XyInterpolatedBlockRenderer 1
org.opentrafficsim.animation.graphs.XyInterpolatedBlockRenderer$1$1 1
org.opentrafficsim.animation.gtu.DefaultCarAnimation$GtuData$GtuMarker 1
org.opentrafficsim.animation.gtu.PerceptionAnimation$PerceptionData$ChannelData 4
org.opentrafficsim.animation.road.AbstractLineAnimation 1
org.opentrafficsim.animation.road.LaneAnimation 1

org.opentrafficsim.animation.BoundsPaintScale

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.BoundsPaintScale at new org.opentrafficsim.animation.BoundsPaintScale(double[], Color[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 39 Medium
Exception thrown in class org.opentrafficsim.animation.BoundsPaintScale at new org.opentrafficsim.animation.BoundsPaintScale(double[], Color[], Color) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 52 Medium

org.opentrafficsim.animation.Colors

Bug Category Details Line Priority
org.opentrafficsim.animation.Colors.ENUMERATE is a mutable array MALICIOUS_CODE MS_MUTABLE_ARRAY 32 High
org.opentrafficsim.animation.Colors.ENUMERATE_NAMES is a mutable array MALICIOUS_CODE MS_MUTABLE_ARRAY 36 High
org.opentrafficsim.animation.Colors.GREEN_RED is a mutable array MALICIOUS_CODE MS_MUTABLE_ARRAY 21 High
org.opentrafficsim.animation.Colors.GREEN_RED_DARK is a mutable array MALICIOUS_CODE MS_MUTABLE_ARRAY 25 High
org.opentrafficsim.animation.Colors.ULTRA is a mutable array MALICIOUS_CODE MS_MUTABLE_ARRAY 28 High
Bad attempt to compute absolute value of signed 32-bit hashcode in org.opentrafficsim.animation.Colors.getIdColor(String, Color[]) CORRECTNESS RV_ABSOLUTE_VALUE_OF_HASHCODE 118 High

org.opentrafficsim.animation.RenderableTextSource

Bug Category Details Line Priority
Shared primitive variable "dynamic" 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
Shared primitive variable "dx" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 368 Medium
Shared primitive variable "dy" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 369 Medium
instanceof will always return true for all non-null values in org.opentrafficsim.animation.RenderableTextSource.getLocation(), since all org.djutils.draw.point.DirectedPoint2d are instances of org.djutils.draw.Directed STYLE BC_VACUOUS_INSTANCEOF 189 Medium

org.opentrafficsim.animation.TextProperties

Bug Category Details Line Priority
org.opentrafficsim.animation.TextProperties.getTextAttributes() may expose internal representation by returning TextProperties.textAttributes MALICIOUS_CODE EI_EXPOSE_REP 106 Medium

org.opentrafficsim.animation.colorer.AccelerationColorer

Bug Category Details Line Priority
org.opentrafficsim.animation.colorer.AccelerationColorer.getNumberFormat() may expose internal representation by returning AccelerationColorer.FORMAT MALICIOUS_CODE EI_EXPOSE_REP 67 Medium

org.opentrafficsim.animation.colorer.NumberFormatUnit

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.colorer.NumberFormatUnit at new org.opentrafficsim.animation.colorer.NumberFormatUnit(String, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 40 Medium

org.opentrafficsim.animation.colorer.SpeedColorer

Bug Category Details Line Priority
org.opentrafficsim.animation.colorer.SpeedColorer.getNumberFormat() may expose internal representation by returning SpeedColorer.FORMAT MALICIOUS_CODE EI_EXPOSE_REP 65 Medium

org.opentrafficsim.animation.egtf.Egtf

Bug Category Details Line Priority
Shared primitive variable "interrupted" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 1027 Medium
Possible null pointer dereference of wMean in org.opentrafficsim.animation.egtf.Egtf.filterSI(double[], double[], Quantity[]) CORRECTNESS NP_NULL_ON_SOME_PATH 669 Medium

org.opentrafficsim.animation.egtf.Egtf$DualWeightedMean

Bug Category Details Line Priority
Should org.opentrafficsim.animation.egtf.Egtf$DualWeightedMean be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 1073-1148 Medium

org.opentrafficsim.animation.egtf.Egtf$WeightedMean

Bug Category Details Line Priority
Should org.opentrafficsim.animation.egtf.Egtf$WeightedMean be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 1157-1188 Medium

org.opentrafficsim.animation.egtf.EgtfParallelListener

Bug Category Details Line Priority
This write of the 64-bit primitive variable "progress" may not atomic MT_CORRECTNESS AT_NONATOMIC_64BIT_PRIMITIVE 90 Medium
This write of the 64-bit primitive variable "progress" may not atomic MT_CORRECTNESS AT_NONATOMIC_64BIT_PRIMITIVE 64 Medium
Shared primitive variable "interrupted" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 108 Medium

org.opentrafficsim.animation.egtf.FilterDouble

Bug Category Details Line Priority
org.opentrafficsim.animation.egtf.FilterDouble.getLocation() may expose internal representation by returning FilterDouble.location MALICIOUS_CODE EI_EXPOSE_REP 42 Medium
org.opentrafficsim.animation.egtf.FilterDouble.getTime() may expose internal representation by returning FilterDouble.time MALICIOUS_CODE EI_EXPOSE_REP 48 Medium

org.opentrafficsim.animation.graphs.AbstractContourPlot

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.graphs.AbstractContourPlot at new org.opentrafficsim.animation.graphs.AbstractContourPlot(String, ContourDataSource, ContourDataSource$ContourAdditionalDataType, AbstractContourPlot$Bounds, AbstractContourPlot$LabelData) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 91 Medium
Exception thrown in class org.opentrafficsim.animation.graphs.AbstractContourPlot at new org.opentrafficsim.animation.graphs.AbstractContourPlot(String, ContourDataSource, ContourDataSource$ContourDataType, BoundsPaintScale, AbstractContourPlot$LabelData) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 68 Medium

org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState.data() may expose internal representation by returning AbstractContourPlot$ContourPaintState.data MALICIOUS_CODE EI_EXPOSE_REP 371 Medium
org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState.getAvailableTime() may expose internal representation by returning AbstractContourPlot$ContourPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP 371 Medium
new org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState(float[], double, double, int, boolean, Duration) may expose internal representation by storing an externally mutable object into AbstractContourPlot$ContourPaintState.data MALICIOUS_CODE EI_EXPOSE_REP2 371 Medium
new org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState(float[], double, double, int, boolean, Duration) may expose internal representation by storing an externally mutable object into AbstractContourPlot$ContourPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP2 371 Medium
Integral division result cast to double or float in org.opentrafficsim.animation.graphs.AbstractContourPlot$ContourPaintState.getTimeValue(int) STYLE ICAST_IDIV_CAST_TO_DOUBLE 391 Medium

org.opentrafficsim.animation.graphs.AbstractGraphSpace

Bug Category Details Line Priority
new org.opentrafficsim.animation.graphs.AbstractGraphSpace(List) may expose internal representation by storing an externally mutable object into AbstractGraphSpace.seriesNames MALICIOUS_CODE EI_EXPOSE_REP2 29 Medium

org.opentrafficsim.animation.graphs.AbstractPlot

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.AbstractPlot.getChart() may expose internal representation by returning AbstractPlot.chart MALICIOUS_CODE EI_EXPOSE_REP 262 Medium
new org.opentrafficsim.animation.graphs.AbstractPlot(PlotScheduler, String, Duration, Duration) may expose internal representation by storing an externally mutable object into AbstractPlot.delay MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
new org.opentrafficsim.animation.graphs.AbstractPlot(PlotScheduler, String, Duration, Duration) may expose internal representation by storing an externally mutable object into AbstractPlot.updateInterval MALICIOUS_CODE EI_EXPOSE_REP2 119 Medium
org.opentrafficsim.animation.graphs.AbstractPlot.offerUpdateInterval(Duration) may expose internal representation by storing an externally mutable object into AbstractPlot.suggestedUpdateInterval MALICIOUS_CODE EI_EXPOSE_REP2 428 Medium
Exceptional return value of java.util.concurrent.BlockingQueue.offer(Object) ignored in org.opentrafficsim.animation.graphs.AbstractPlot.invalidate() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 334 Medium
new org.opentrafficsim.animation.graphs.AbstractPlot(PlotScheduler, String, Duration, Duration) invokes Thread.start() MT_CORRECTNESS SC_START_IN_CTOR 150 High

org.opentrafficsim.animation.graphs.AbstractSpaceTimePlot

Bug Category Details Line Priority
new org.opentrafficsim.animation.graphs.AbstractSpaceTimePlot(String, Duration, PlotScheduler, Duration, Duration) may expose internal representation by storing an externally mutable object into AbstractSpaceTimePlot.initialEnd MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium

org.opentrafficsim.animation.graphs.ContourDataSource

Bug Category Details Line Priority
Operation on the "readyItems" shared variable in "ContourDataSource" class is not atomic MT_CORRECTNESS AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE 593 Medium
new org.opentrafficsim.animation.graphs.ContourDataSource(SamplerData, Duration, GraphPath, PlotScheduler, PlotSetting, PlotSetting, Duration, Duration) may expose internal representation by storing an externally mutable object into ContourDataSource.samplerData MALICIOUS_CODE EI_EXPOSE_REP2 217 Medium
org.opentrafficsim.animation.graphs.ContourDataSource.applySmoothingIfNeeded(ContourDataSource$UpdateContext) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 919 Medium
org.opentrafficsim.animation.graphs.ContourDataSource.handleInterpolationEdges(int, int, boolean) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 650 Medium
org.opentrafficsim.animation.graphs.ContourDataSource.processTimeSlice(int, ContourDataSource$UpdateContext) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 617 Medium
org.opentrafficsim.animation.graphs.ContourDataSource.setDataInEgtf(double, double, double, double, int, int) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 874 Medium

org.opentrafficsim.animation.graphs.ContourPlotExtendedData$UnitPlot

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.graphs.ContourPlotExtendedData$UnitPlot at new org.opentrafficsim.animation.graphs.ContourPlotExtendedData$UnitPlot(String, ContourDataSource, ExtendedDataNumber, BoundsPaintScale, DoubleScalarRel, Unit) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 235 Medium

org.opentrafficsim.animation.graphs.DistributionPlotExtendedData

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.graphs.DistributionPlotExtendedData at new org.opentrafficsim.animation.graphs.DistributionPlotExtendedData(SamplerData, GraphPath, ExtendedDataType, PlotScheduler, DistributionPlotExtendedData$LabelData) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 80 Medium

org.opentrafficsim.animation.graphs.DistributionPlotExtendedData$DistributionPaintState

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.DistributionPlotExtendedData$DistributionPaintState.getAvailableTime() may expose internal representation by returning DistributionPlotExtendedData$DistributionPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP 310 Medium
new org.opentrafficsim.animation.graphs.DistributionPlotExtendedData$DistributionPaintState(Duration) may expose internal representation by storing an externally mutable object into DistributionPlotExtendedData$DistributionPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP2 310 Medium

org.opentrafficsim.animation.graphs.FdDataSource

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.FdDataSource.getAggregationPeriod() may expose internal representation by returning FdDataSource.aggregationPeriod MALICIOUS_CODE EI_EXPOSE_REP 144 Medium
new org.opentrafficsim.animation.graphs.FdDataSource(Duration, Duration, PlotScheduler, PlotSetting, PlotSetting) may expose internal representation by storing an externally mutable object into FdDataSource.aggregationPeriod MALICIOUS_CODE EI_EXPOSE_REP2 90 Medium
org.opentrafficsim.animation.graphs.FdDataSource.setAggregationPeriod(Duration) may expose internal representation by storing an externally mutable object into FdDataSource.aggregationPeriod MALICIOUS_CODE EI_EXPOSE_REP2 155 Medium

org.opentrafficsim.animation.graphs.FdDataSource$AbstractFdDataSource

Bug Category Details Line Priority
Shared primitive variable "periodNumber" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 483 Medium
Shared primitive variable "periodNumber" in one thread may not yield the value of the most recent write from another thread MT_CORRECTNESS AT_STALE_THREAD_WRITE_OF_PRIMITIVE 600 Medium

org.opentrafficsim.animation.graphs.FdDataSource$MultiFdSource

Bug Category Details Line Priority
Nullcheck of sources at line 739 of value previously dereferenced in new org.opentrafficsim.animation.graphs.FdDataSource$MultiFdSource(Map) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 737 Medium

org.opentrafficsim.animation.graphs.FundamentalDiagram

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.graphs.FundamentalDiagram at new org.opentrafficsim.animation.graphs.FundamentalDiagram(String, FundamentalDiagram$Quantity, FundamentalDiagram$Quantity, FdDataSource, FundamentalDiagram$FdLine) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 77 Medium
org.opentrafficsim.animation.graphs.FundamentalDiagram.getLaneVisible() may expose internal representation by returning FundamentalDiagram.laneVisible MALICIOUS_CODE EI_EXPOSE_REP 366 Medium
org.opentrafficsim.animation.graphs.FundamentalDiagram.getLegend() may expose internal representation by returning FundamentalDiagram.legend MALICIOUS_CODE EI_EXPOSE_REP 357 Medium
new org.opentrafficsim.animation.graphs.FundamentalDiagram(String, FundamentalDiagram$Quantity, FundamentalDiagram$Quantity, FdDataSource, FundamentalDiagram$FdLine) may expose internal representation by storing an externally mutable object into FundamentalDiagram.source MALICIOUS_CODE EI_EXPOSE_REP2 86 Medium

org.opentrafficsim.animation.graphs.FundamentalDiagram$FdPaintState

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdPaintState.fdSeries() may expose internal representation by returning FundamentalDiagram$FdPaintState.fdSeries MALICIOUS_CODE EI_EXPOSE_REP 615 Medium
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdPaintState.getAvailableTime() may expose internal representation by returning FundamentalDiagram$FdPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP 615 Medium
new org.opentrafficsim.animation.graphs.FundamentalDiagram$FdPaintState(FundamentalDiagram$FdSeries[], Duration) may expose internal representation by storing an externally mutable object into FundamentalDiagram$FdPaintState.fdSeries MALICIOUS_CODE EI_EXPOSE_REP2 615 Medium
new org.opentrafficsim.animation.graphs.FundamentalDiagram$FdPaintState(FundamentalDiagram$FdSeries[], Duration) may expose internal representation by storing an externally mutable object into FundamentalDiagram$FdPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP2 615 Medium

org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries.k() may expose internal representation by returning FundamentalDiagram$FdSeries.k MALICIOUS_CODE EI_EXPOSE_REP 584 Medium
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries.q() may expose internal representation by returning FundamentalDiagram$FdSeries.q MALICIOUS_CODE EI_EXPOSE_REP 584 Medium
org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries.v() may expose internal representation by returning FundamentalDiagram$FdSeries.v MALICIOUS_CODE EI_EXPOSE_REP 584 Medium
new org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries(float[], float[], float[]) may expose internal representation by storing an externally mutable object into FundamentalDiagram$FdSeries.k MALICIOUS_CODE EI_EXPOSE_REP2 584 Medium
new org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries(float[], float[], float[]) may expose internal representation by storing an externally mutable object into FundamentalDiagram$FdSeries.q MALICIOUS_CODE EI_EXPOSE_REP2 584 Medium
new org.opentrafficsim.animation.graphs.FundamentalDiagram$FdSeries(float[], float[], float[]) may expose internal representation by storing an externally mutable object into FundamentalDiagram$FdSeries.v MALICIOUS_CODE EI_EXPOSE_REP2 584 Medium

org.opentrafficsim.animation.graphs.GraphCrossSection

Bug Category Details Line Priority
new org.opentrafficsim.animation.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

org.opentrafficsim.animation.graphs.GraphPath

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.GraphPath.getSpeedLimit() may expose internal representation by returning GraphPath.speedLimit MALICIOUS_CODE EI_EXPOSE_REP 140 Medium
org.opentrafficsim.animation.graphs.GraphPath.getTotalLength() may expose internal representation by returning GraphPath.totalLength MALICIOUS_CODE EI_EXPOSE_REP 131 Medium
new org.opentrafficsim.animation.graphs.GraphPath(List, List) may expose internal representation by storing an externally mutable object into GraphPath.sections MALICIOUS_CODE EI_EXPOSE_REP2 76 Medium

org.opentrafficsim.animation.graphs.GraphPath$Section

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.GraphPath$Section.length() may expose internal representation by returning GraphPath$Section.length MALICIOUS_CODE EI_EXPOSE_REP 254 Medium
org.opentrafficsim.animation.graphs.GraphPath$Section.sections() may expose internal representation by returning GraphPath$Section.sections MALICIOUS_CODE EI_EXPOSE_REP 254 Medium
org.opentrafficsim.animation.graphs.GraphPath$Section.speedLimit() may expose internal representation by returning GraphPath$Section.speedLimit MALICIOUS_CODE EI_EXPOSE_REP 254 Medium
new org.opentrafficsim.animation.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 254 Medium
new org.opentrafficsim.animation.graphs.GraphPath$Section(Length, Speed, List) may expose internal representation by storing an externally mutable object into GraphPath$Section.sections MALICIOUS_CODE EI_EXPOSE_REP2 254 Medium
new org.opentrafficsim.animation.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 254 Medium

org.opentrafficsim.animation.graphs.PlotDelegate

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.PlotDelegate.getDelay() may expose internal representation by returning PlotDelegate.delay MALICIOUS_CODE EI_EXPOSE_REP 139 Medium
org.opentrafficsim.animation.graphs.PlotDelegate.getInitialUpdateInterval() may expose internal representation by returning PlotDelegate.initialUpdateInterval MALICIOUS_CODE EI_EXPOSE_REP 130 Medium
new org.opentrafficsim.animation.graphs.PlotDelegate(Duration, Duration, PlotScheduler) may expose internal representation by storing an externally mutable object into PlotDelegate.delay MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
new org.opentrafficsim.animation.graphs.PlotDelegate(Duration, Duration, PlotScheduler) may expose internal representation by storing an externally mutable object into PlotDelegate.initialUpdateInterval MALICIOUS_CODE EI_EXPOSE_REP2 119 Medium

org.opentrafficsim.animation.graphs.TrajectoryPlot

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.animation.graphs.TrajectoryPlot at new org.opentrafficsim.animation.graphs.TrajectoryPlot(String, Duration, PlotScheduler, SamplerData, GraphPath) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 129 Medium
org.opentrafficsim.animation.graphs.TrajectoryPlot.getLaneVisible() may expose internal representation by returning TrajectoryPlot.laneVisible MALICIOUS_CODE EI_EXPOSE_REP 405 Medium
org.opentrafficsim.animation.graphs.TrajectoryPlot.getLegend() may expose internal representation by returning TrajectoryPlot.legend MALICIOUS_CODE EI_EXPOSE_REP 396 Medium
new org.opentrafficsim.animation.graphs.TrajectoryPlot(String, Duration, PlotScheduler, SamplerData, GraphPath) may expose internal representation by storing an externally mutable object into TrajectoryPlot.samplerData MALICIOUS_CODE EI_EXPOSE_REP2 130 Medium

org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState.getAvailableTime() may expose internal representation by returning TrajectoryPlot$TrajectoriesPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP 521 Medium
org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState.laneOfSeries() may expose internal representation by returning TrajectoryPlot$TrajectoriesPaintState.laneOfSeries MALICIOUS_CODE EI_EXPOSE_REP 521 Medium
org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState.series() may expose internal representation by returning TrajectoryPlot$TrajectoriesPaintState.series MALICIOUS_CODE EI_EXPOSE_REP 521 Medium
org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState.strokeOfSeries() may expose internal representation by returning TrajectoryPlot$TrajectoriesPaintState.strokeOfSeries MALICIOUS_CODE EI_EXPOSE_REP 521 Medium
new org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState(OffsetTrajectory[], int[], Stroke[], int, Duration) may expose internal representation by storing an externally mutable object into TrajectoryPlot$TrajectoriesPaintState.getAvailableTime MALICIOUS_CODE EI_EXPOSE_REP2 521 Medium
new org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState(OffsetTrajectory[], int[], Stroke[], int, Duration) may expose internal representation by storing an externally mutable object into TrajectoryPlot$TrajectoriesPaintState.laneOfSeries MALICIOUS_CODE EI_EXPOSE_REP2 521 Medium
new org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState(OffsetTrajectory[], int[], Stroke[], int, Duration) may expose internal representation by storing an externally mutable object into TrajectoryPlot$TrajectoriesPaintState.series MALICIOUS_CODE EI_EXPOSE_REP2 521 Medium
new org.opentrafficsim.animation.graphs.TrajectoryPlot$TrajectoriesPaintState(OffsetTrajectory[], int[], Stroke[], int, Duration) may expose internal representation by storing an externally mutable object into TrajectoryPlot$TrajectoriesPaintState.strokeOfSeries MALICIOUS_CODE EI_EXPOSE_REP2 521 Medium

org.opentrafficsim.animation.graphs.XyInterpolatedBlockRenderer

Bug Category Details Line Priority
org.opentrafficsim.animation.graphs.XyInterpolatedBlockRenderer doesn't override org.jfree.chart.renderer.xy.XYBlockRenderer.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

org.opentrafficsim.animation.graphs.XyInterpolatedBlockRenderer$1$1

Bug Category Details Line Priority
Integral division result cast to double or float in org.opentrafficsim.animation.graphs.XyInterpolatedBlockRenderer$1$1.getRaster(int, int, int, int) STYLE ICAST_IDIV_CAST_TO_DOUBLE 177 Medium

org.opentrafficsim.animation.gtu.DefaultCarAnimation$GtuData$GtuMarker

Bug Category Details Line Priority
org.opentrafficsim.animation.gtu.DefaultCarAnimation$GtuData$GtuMarker.getShape() may expose internal representation by returning DefaultCarAnimation$GtuData$GtuMarker.shape MALICIOUS_CODE EI_EXPOSE_REP 394 Medium

org.opentrafficsim.animation.gtu.PerceptionAnimation$PerceptionData$ChannelData

Bug Category Details Line Priority
org.opentrafficsim.animation.gtu.PerceptionAnimation$PerceptionData$ChannelData.angle() may expose internal representation by returning PerceptionAnimation$PerceptionData$ChannelData.angle MALICIOUS_CODE EI_EXPOSE_REP 158 Medium
org.opentrafficsim.animation.gtu.PerceptionAnimation$PerceptionData$ChannelData.perceptionDelay() may expose internal representation by returning PerceptionAnimation$PerceptionData$ChannelData.perceptionDelay MALICIOUS_CODE EI_EXPOSE_REP 158 Medium
new org.opentrafficsim.animation.gtu.PerceptionAnimation$PerceptionData$ChannelData(Angle, PerceptionAnimation$PerceptionData$ChannelRadius, double, Duration) may expose internal representation by storing an externally mutable object into PerceptionAnimation$PerceptionData$ChannelData.angle MALICIOUS_CODE EI_EXPOSE_REP2 167 Medium
new org.opentrafficsim.animation.gtu.PerceptionAnimation$PerceptionData$ChannelData(Angle, PerceptionAnimation$PerceptionData$ChannelRadius, double, Duration) may expose internal representation by storing an externally mutable object into PerceptionAnimation$PerceptionData$ChannelData.perceptionDelay MALICIOUS_CODE EI_EXPOSE_REP2 167 Medium

org.opentrafficsim.animation.road.AbstractLineAnimation

Bug Category Details Line Priority
new org.opentrafficsim.animation.road.AbstractLineAnimation(AbstractLineAnimation$LaneBasedObjectData, Contextualized, Length, String) may expose internal representation by storing an externally mutable object into AbstractLineAnimation.width MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium

org.opentrafficsim.animation.road.LaneAnimation

Bug Category Details Line Priority
org.opentrafficsim.animation.road.LaneAnimation.getText() may expose internal representation by returning LaneAnimation.text MALICIOUS_CODE EI_EXPOSE_REP 66 Medium