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
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 |
