SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.6

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
264 187 0 0

Files

Class Bugs
org.opentrafficsim.core.compatibility.GtuCompatibility 1
org.opentrafficsim.core.compatibility.GtuCompatibleInfraType 1
org.opentrafficsim.core.distributions.Distribution 3
org.opentrafficsim.core.dsol.AbstractOtsModel 2
org.opentrafficsim.core.dsol.OtsDevsRealTimeParallelMove 1
org.opentrafficsim.core.dsol.OtsLoggingAnimator 1
org.opentrafficsim.core.dsol.OtsReplication 3
org.opentrafficsim.core.geometry.ContinuousArc 5
org.opentrafficsim.core.geometry.ContinuousBezier 1
org.opentrafficsim.core.geometry.ContinuousClothoid 2
org.opentrafficsim.core.geometry.ContinuousPolyLine 2
org.opentrafficsim.core.geometry.ContinuousStraight 1
org.opentrafficsim.core.geometry.Flattener$MaxAngle 3
org.opentrafficsim.core.geometry.Flattener$MaxDeviation 1
org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle 3
org.opentrafficsim.core.geometry.Flattener$NumSegments 1
org.opentrafficsim.core.geometry.FractionalLengthData 3
org.opentrafficsim.core.geometry.Ots2dSet 2
org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeIterator 1
org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeNode 1
org.opentrafficsim.core.gtu.Gtu 37
org.opentrafficsim.core.gtu.GtuCharacteristics 12
org.opentrafficsim.core.gtu.GtuDumper 5
org.opentrafficsim.core.gtu.GtuTemplate 2
org.opentrafficsim.core.gtu.RelativePosition 6
org.opentrafficsim.core.gtu.perception.AbstractPerception 4
org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory 2
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan 9
org.opentrafficsim.core.gtu.plan.operational.Segment 7
org.opentrafficsim.core.math.Acceleration3d 2
org.opentrafficsim.core.math.Angle3d 2
org.opentrafficsim.core.math.Direction3d 2
org.opentrafficsim.core.math.Speed3d 2
org.opentrafficsim.core.network.CapacityLink 4
org.opentrafficsim.core.network.Connector 2
org.opentrafficsim.core.network.Link 12
org.opentrafficsim.core.network.LinkPosition 2
org.opentrafficsim.core.network.Network 4
org.opentrafficsim.core.network.Node 7
org.opentrafficsim.core.network.route.FixedRouteGenerator 1
org.opentrafficsim.core.network.route.Route 2
org.opentrafficsim.core.object.StaticObject 4
org.opentrafficsim.core.parameters.ParameterFactoryByType 2
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry 2
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble 2
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger 2
org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry 2
org.opentrafficsim.core.perception.AbstractHistorical 1
org.opentrafficsim.core.perception.HistoricalParameters 1
org.opentrafficsim.core.perception.HistoryManagerDevs 3
org.opentrafficsim.core.perception.collections.AbstractHistoricalList 1
org.opentrafficsim.core.perception.collections.AbstractHistoricalMap 1
org.opentrafficsim.core.units.distributions.AbstractContinuousDistScalar 1
org.opentrafficsim.core.units.distributions.AbstractDiscreteDistScalar 1

org.opentrafficsim.core.compatibility.GtuCompatibility

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.compatibility.GtuCompatibility at new org.opentrafficsim.core.compatibility.GtuCompatibility(HierarchicalType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 41 Medium

org.opentrafficsim.core.compatibility.GtuCompatibleInfraType

Bug Category Details Line Priority
org.opentrafficsim.core.compatibility.GtuCompatibleInfraType.getGtuCompatibility() may expose internal representation by returning GtuCompatibleInfraType.gtuCompatibility MALICIOUS_CODE EI_EXPOSE_REP 110 Medium

org.opentrafficsim.core.distributions.Distribution

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.distributions.Distribution at new org.opentrafficsim.core.distributions.Distribution(List, StreamInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 44 Medium
Exception thrown in class org.opentrafficsim.core.distributions.Distribution at new org.opentrafficsim.core.distributions.Distribution(StreamInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 59 Medium
Class org.opentrafficsim.core.distributions.Distribution defines non-transient non-serializable instance field generators BAD_PRACTICE SE_BAD_FIELD Not available High

org.opentrafficsim.core.dsol.AbstractOtsModel

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.dsol.AbstractOtsModel at new org.opentrafficsim.core.dsol.AbstractOtsModel(OtsSimulatorInterface, String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 51 Medium
Exception thrown in class org.opentrafficsim.core.dsol.AbstractOtsModel at new org.opentrafficsim.core.dsol.AbstractOtsModel(OtsSimulatorInterface, String, String, StreamInformation) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 65 Medium

org.opentrafficsim.core.dsol.OtsDevsRealTimeParallelMove

Bug Category Details Line Priority
Class org.opentrafficsim.core.dsol.OtsDevsRealTimeParallelMove defines non-transient non-serializable instance field executor BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.core.dsol.OtsLoggingAnimator

Bug Category Details Line Priority
Class org.opentrafficsim.core.dsol.OtsLoggingAnimator defines non-transient non-serializable instance field animationThread BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.core.dsol.OtsReplication

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.dsol.OtsReplication at new org.opentrafficsim.core.dsol.OtsReplication(String, Time, Duration, Duration, HistoryManager) 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.core.dsol.OtsReplication.getStartTimeAbs() may expose internal representation by returning OtsReplication.startTimeAbs MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
new org.opentrafficsim.core.dsol.OtsReplication(String, Time, Duration, Duration, HistoryManager) may expose internal representation by storing an externally mutable object into OtsReplication.startTimeAbs MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

org.opentrafficsim.core.geometry.ContinuousArc

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousArc at new org.opentrafficsim.core.geometry.ContinuousArc(OrientedPoint2d, double, boolean, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 44 Medium
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousArc at new org.opentrafficsim.core.geometry.ContinuousArc(OrientedPoint2d, double, boolean, Angle) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 57 Medium
new org.opentrafficsim.core.geometry.ContinuousArc(OrientedPoint2d, double, boolean, Angle) may expose internal representation by storing an externally mutable object into ContinuousArc.angle MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 132 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 136 Medium

org.opentrafficsim.core.geometry.ContinuousBezier

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousBezier at new org.opentrafficsim.core.geometry.ContinuousBezier(Point2d[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 61 Medium

org.opentrafficsim.core.geometry.ContinuousClothoid

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousClothoid at new org.opentrafficsim.core.geometry.ContinuousClothoid(OrientedPoint2d, double, 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 270 Medium
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousClothoid at new org.opentrafficsim.core.geometry.ContinuousClothoid(OrientedPoint2d, OrientedPoint2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 127 Medium

org.opentrafficsim.core.geometry.ContinuousPolyLine

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousPolyLine at new org.opentrafficsim.core.geometry.ContinuousPolyLine(PolyLine2d) 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
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousPolyLine at new org.opentrafficsim.core.geometry.ContinuousPolyLine(PolyLine2d, OrientedPoint2d, OrientedPoint2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 57 Medium

org.opentrafficsim.core.geometry.ContinuousStraight

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.ContinuousStraight at new org.opentrafficsim.core.geometry.ContinuousStraight(OrientedPoint2d, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 36 Medium

org.opentrafficsim.core.geometry.Flattener$MaxAngle

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.Flattener$MaxAngle at new org.opentrafficsim.core.geometry.Flattener$MaxAngle(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 288 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 315 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 319 Medium

org.opentrafficsim.core.geometry.Flattener$MaxDeviation

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.Flattener$MaxDeviation at new org.opentrafficsim.core.geometry.Flattener$MaxDeviation(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 96 Medium

org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle at new org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle(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 180 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 221 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 225 Medium

org.opentrafficsim.core.geometry.Flattener$NumSegments

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.Flattener$NumSegments at new org.opentrafficsim.core.geometry.Flattener$NumSegments(int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 57 Medium

org.opentrafficsim.core.geometry.FractionalLengthData

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.FractionalLengthData at new org.opentrafficsim.core.geometry.FractionalLengthData(Map) 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
Exception thrown in class org.opentrafficsim.core.geometry.FractionalLengthData at new org.opentrafficsim.core.geometry.FractionalLengthData(double[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 37 Medium
Possible null pointer dereference of data in new org.opentrafficsim.core.geometry.FractionalLengthData(Map) CORRECTNESS NP_NULL_ON_SOME_PATH 56 Medium

org.opentrafficsim.core.geometry.Ots2dSet

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.geometry.Ots2dSet at new org.opentrafficsim.core.geometry.Ots2dSet(Bounds2d, 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
Possible null pointer dereference of boundingBox in new org.opentrafficsim.core.geometry.Ots2dSet(Bounds2d, double) CORRECTNESS NP_NULL_ON_SOME_PATH 61 High

org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeIterator

Bug Category Details Line Priority
org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeIterator is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 263-303 Medium

org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeNode

Bug Category Details Line Priority
org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeNode is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 317-734 Medium

org.opentrafficsim.core.gtu.Gtu

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.gtu.Gtu at new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 202 Medium
org.opentrafficsim.core.gtu.Gtu.getAcceleration(Time) may expose internal representation by returning Gtu.cachedAcceleration MALICIOUS_CODE EI_EXPOSE_REP 725 Medium
org.opentrafficsim.core.gtu.Gtu.getLength() may expose internal representation by returning Gtu.length MALICIOUS_CODE EI_EXPOSE_REP 314 Medium
org.opentrafficsim.core.gtu.Gtu.getMaximumAcceleration() may expose internal representation by returning Gtu.maximumAcceleration MALICIOUS_CODE EI_EXPOSE_REP 734 Medium
org.opentrafficsim.core.gtu.Gtu.getMaximumDeceleration() may expose internal representation by returning Gtu.maximumDeceleration MALICIOUS_CODE EI_EXPOSE_REP 754 Medium
org.opentrafficsim.core.gtu.Gtu.getMaximumSpeed() may expose internal representation by returning Gtu.maximumSpeed MALICIOUS_CODE EI_EXPOSE_REP 326 Medium
org.opentrafficsim.core.gtu.Gtu.getParameters() may expose internal representation by returning Gtu.parameters MALICIOUS_CODE EI_EXPOSE_REP 522 Medium
org.opentrafficsim.core.gtu.Gtu.getParent() may expose internal representation by returning Gtu.parent MALICIOUS_CODE EI_EXPOSE_REP 941 Medium
org.opentrafficsim.core.gtu.Gtu.getPerceivableContext() may expose internal representation by returning Gtu.perceivableContext MALICIOUS_CODE EI_EXPOSE_REP 893 Medium
org.opentrafficsim.core.gtu.Gtu.getSpeed(Time) may expose internal representation by returning Gtu.cachedSpeed MALICIOUS_CODE EI_EXPOSE_REP 670 Medium
org.opentrafficsim.core.gtu.Gtu.getWidth() may expose internal representation by returning Gtu.width MALICIOUS_CODE EI_EXPOSE_REP 320 Medium
new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.length MALICIOUS_CODE EI_EXPOSE_REP2 209 Medium
new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.maximumSpeed MALICIOUS_CODE EI_EXPOSE_REP2 215 Medium
new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.perceivableContext MALICIOUS_CODE EI_EXPOSE_REP2 223 Medium
new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.width MALICIOUS_CODE EI_EXPOSE_REP2 210 Medium
org.opentrafficsim.core.gtu.Gtu.setMaximumAcceleration(Acceleration) may expose internal representation by storing an externally mutable object into Gtu.maximumAcceleration MALICIOUS_CODE EI_EXPOSE_REP2 746 Medium
org.opentrafficsim.core.gtu.Gtu.setMaximumDeceleration(Acceleration) may expose internal representation by storing an externally mutable object into Gtu.maximumDeceleration MALICIOUS_CODE EI_EXPOSE_REP2 768 Medium
org.opentrafficsim.core.gtu.Gtu.setParameters(Parameters) may expose internal representation by storing an externally mutable object into Gtu.parameters MALICIOUS_CODE EI_EXPOSE_REP2 528 Medium
org.opentrafficsim.core.gtu.Gtu.setParent(Gtu) may expose internal representation by storing an externally mutable object into Gtu.parent MALICIOUS_CODE EI_EXPOSE_REP2 932 Medium
org.opentrafficsim.core.gtu.Gtu.ALIGN_COUNT should be package protected MALICIOUS_CODE MS_PKGPROTECT 129 Medium
org.opentrafficsim.core.gtu.Gtu.ALIGNED isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 125 High
org.opentrafficsim.core.gtu.Gtu.DESTROY_EVENT isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 1030 High
org.opentrafficsim.core.gtu.Gtu.MOVE_EVENT isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 1017 High
Primitive field org.opentrafficsim.core.gtu.Gtu.ALIGN_COUNT is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility. BAD_PRACTICE PA_PUBLIC_PRIMITIVE_ATTRIBUTE 129 Medium
Exception is caught when Exception is not thrown in org.opentrafficsim.core.gtu.Gtu.move(OrientedPoint2d) STYLE REC_CATCH_EXCEPTION 444 Medium
Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field odometer BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field operationalPlan BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field shape BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field strategicalPlanner BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field tacticalPlanner BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field errorHandler BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.odometer BAD_PRACTICE SE_BAD_FIELD_STORE 222 High
org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.operationalPlan BAD_PRACTICE SE_BAD_FIELD_STORE 227 High
org.opentrafficsim.base.geometry.OffsetRectangleShape stored into non-transient field Gtu.shape BAD_PRACTICE SE_BAD_FIELD_STORE 239 High
org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.strategicalPlanner BAD_PRACTICE SE_BAD_FIELD_STORE 225 High
org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.tacticalPlanner BAD_PRACTICE SE_BAD_FIELD_STORE 226 High
Write to static field org.opentrafficsim.core.gtu.Gtu.staticUNIQUENUMBER from instance method new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) STYLE ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 219 Medium

org.opentrafficsim.core.gtu.GtuCharacteristics

Bug Category Details Line Priority
org.opentrafficsim.core.gtu.GtuCharacteristics.getFront() may expose internal representation by returning GtuCharacteristics.front MALICIOUS_CODE EI_EXPOSE_REP 127 Medium
org.opentrafficsim.core.gtu.GtuCharacteristics.getLength() may expose internal representation by returning GtuCharacteristics.length MALICIOUS_CODE EI_EXPOSE_REP 82 Medium
org.opentrafficsim.core.gtu.GtuCharacteristics.getMaximumAcceleration() may expose internal representation by returning GtuCharacteristics.maximumAcceleration MALICIOUS_CODE EI_EXPOSE_REP 109 Medium
org.opentrafficsim.core.gtu.GtuCharacteristics.getMaximumDeceleration() may expose internal representation by returning GtuCharacteristics.maximumDeceleration MALICIOUS_CODE EI_EXPOSE_REP 118 Medium
org.opentrafficsim.core.gtu.GtuCharacteristics.getMaximumSpeed() may expose internal representation by returning GtuCharacteristics.maximumSpeed MALICIOUS_CODE EI_EXPOSE_REP 100 Medium
org.opentrafficsim.core.gtu.GtuCharacteristics.getWidth() may expose internal representation by returning GtuCharacteristics.width MALICIOUS_CODE EI_EXPOSE_REP 91 Medium
new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.front MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium
new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.length MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium
new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.maximumAcceleration MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.maximumDeceleration MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium
new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.maximumSpeed MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium
new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.width MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium

org.opentrafficsim.core.gtu.GtuDumper

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.gtu.GtuDumper at new org.opentrafficsim.core.gtu.GtuDumper(Time, Duration, Network, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 76 Medium
Found reliance on default encoding in org.opentrafficsim.core.gtu.GtuDumper.dump(): new java.io.PrintWriter(File) I18N DM_DEFAULT_ENCODING 36 High
new org.opentrafficsim.core.gtu.GtuDumper(Time, Duration, Network, String) may expose internal representation by storing an externally mutable object into GtuDumper.interval MALICIOUS_CODE EI_EXPOSE_REP2 84 Medium
new org.opentrafficsim.core.gtu.GtuDumper(Time, Duration, Network, String) may expose internal representation by storing an externally mutable object into GtuDumper.network MALICIOUS_CODE EI_EXPOSE_REP2 85 Medium
Format string should use %n rather than \n in org.opentrafficsim.core.gtu.GtuDumper.dump() BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 40 Medium

org.opentrafficsim.core.gtu.GtuTemplate

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.gtu.GtuTemplate at new org.opentrafficsim.core.gtu.GtuTemplate(GtuType, Generator, Generator, Generator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 54 Medium
Exception thrown in class org.opentrafficsim.core.gtu.GtuTemplate at new org.opentrafficsim.core.gtu.GtuTemplate(GtuType, Generator, Generator, Generator, Generator, Generator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 72 Medium

org.opentrafficsim.core.gtu.RelativePosition

Bug Category Details Line Priority
org.opentrafficsim.core.gtu.RelativePosition.dx() may expose internal representation by returning RelativePosition.dx MALICIOUS_CODE EI_EXPOSE_REP 23 Medium
org.opentrafficsim.core.gtu.RelativePosition.dy() may expose internal representation by returning RelativePosition.dy MALICIOUS_CODE EI_EXPOSE_REP 23 Medium
org.opentrafficsim.core.gtu.RelativePosition.dz() may expose internal representation by returning RelativePosition.dz MALICIOUS_CODE EI_EXPOSE_REP 23 Medium
new org.opentrafficsim.core.gtu.RelativePosition(Length, Length, Length, RelativePosition$Type) may expose internal representation by storing an externally mutable object into RelativePosition.dx MALICIOUS_CODE EI_EXPOSE_REP2 23 Medium
new org.opentrafficsim.core.gtu.RelativePosition(Length, Length, Length, RelativePosition$Type) may expose internal representation by storing an externally mutable object into RelativePosition.dy MALICIOUS_CODE EI_EXPOSE_REP2 23 Medium
new org.opentrafficsim.core.gtu.RelativePosition(Length, Length, Length, RelativePosition$Type) may expose internal representation by storing an externally mutable object into RelativePosition.dz MALICIOUS_CODE EI_EXPOSE_REP2 23 Medium

org.opentrafficsim.core.gtu.perception.AbstractPerception

Bug Category Details Line Priority
org.opentrafficsim.core.gtu.perception.AbstractPerception.getGtu() may expose internal representation by returning AbstractPerception.gtu MALICIOUS_CODE EI_EXPOSE_REP 50 Medium
new org.opentrafficsim.core.gtu.perception.AbstractPerception(Gtu) may expose internal representation by storing an externally mutable object into AbstractPerception.gtu MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium
org.opentrafficsim.core.gtu.perception.AbstractPerception.contains(Class) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 74 Medium
org.opentrafficsim.core.gtu.perception.AbstractPerception.getPerceptionCategoryOrNull(Class) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 108 Medium

org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory

Bug Category Details Line Priority
org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory.getPerception() may expose internal representation by returning AbstractPerceptionCategory.perception MALICIOUS_CODE EI_EXPOSE_REP 60 Medium
new org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory(Perception) may expose internal representation by storing an externally mutable object into AbstractPerceptionCategory.perception MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium

org.opentrafficsim.core.gtu.plan.operational.OperationalPlan

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.gtu.plan.operational.OperationalPlan at new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 124 Medium
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.getStartTime() may expose internal representation by returning OperationalPlan.startTime MALICIOUS_CODE EI_EXPOSE_REP 163 Medium
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.getTotalDuration() may expose internal representation by returning OperationalPlan.totalDuration MALICIOUS_CODE EI_EXPOSE_REP 190 Medium
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.getTotalLength() may expose internal representation by returning OperationalPlan.totalLength MALICIOUS_CODE EI_EXPOSE_REP 199 Medium
new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) may expose internal representation by storing an externally mutable object into OperationalPlan.gtu MALICIOUS_CODE EI_EXPOSE_REP2 98 Medium
new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) may expose internal representation by storing an externally mutable object into OperationalPlan.segments MALICIOUS_CODE EI_EXPOSE_REP2 100 Medium
new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) may expose internal representation by storing an externally mutable object into OperationalPlan.startTime MALICIOUS_CODE EI_EXPOSE_REP2 99 Medium
Redundant nullcheck of p, which is known to be non-null in org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.timeAtPoint(OrientedPoint2d, boolean) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 422 Medium
Class org.opentrafficsim.core.gtu.plan.operational.OperationalPlan defines non-transient non-serializable instance field segments BAD_PRACTICE SE_BAD_FIELD Not available High

org.opentrafficsim.core.gtu.plan.operational.Segment

Bug Category Details Line Priority
org.opentrafficsim.core.gtu.plan.operational.Segment.acceleration() may expose internal representation by returning Segment.acceleration MALICIOUS_CODE EI_EXPOSE_REP 29 Medium
org.opentrafficsim.core.gtu.plan.operational.Segment.duration() may expose internal representation by returning Segment.duration MALICIOUS_CODE EI_EXPOSE_REP 29 Medium
org.opentrafficsim.core.gtu.plan.operational.Segment.durationAtDistance(Length) may expose internal representation by returning Segment.duration MALICIOUS_CODE EI_EXPOSE_REP 123 Medium
org.opentrafficsim.core.gtu.plan.operational.Segment.startSpeed() may expose internal representation by returning Segment.startSpeed MALICIOUS_CODE EI_EXPOSE_REP 29 Medium
new org.opentrafficsim.core.gtu.plan.operational.Segment(boolean, Speed, Duration, Acceleration) may expose internal representation by storing an externally mutable object into Segment.acceleration MALICIOUS_CODE EI_EXPOSE_REP2 29 Medium
new org.opentrafficsim.core.gtu.plan.operational.Segment(boolean, Speed, Duration, Acceleration) may expose internal representation by storing an externally mutable object into Segment.duration MALICIOUS_CODE EI_EXPOSE_REP2 29 Medium
new org.opentrafficsim.core.gtu.plan.operational.Segment(boolean, Speed, Duration, Acceleration) may expose internal representation by storing an externally mutable object into Segment.startSpeed MALICIOUS_CODE EI_EXPOSE_REP2 29 Medium

org.opentrafficsim.core.math.Acceleration3d

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.math.Acceleration3d at new org.opentrafficsim.core.math.Acceleration3d(AccelerationVector) 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
new org.opentrafficsim.core.math.Acceleration3d(AccelerationVector) may expose internal representation by storing an externally mutable object into Acceleration3d.acceleration MALICIOUS_CODE EI_EXPOSE_REP2 49 Medium

org.opentrafficsim.core.math.Angle3d

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.math.Angle3d at new org.opentrafficsim.core.math.Angle3d(AngleVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 38 Medium
new org.opentrafficsim.core.math.Angle3d(AngleVector) may expose internal representation by storing an externally mutable object into Angle3d.rotation MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

org.opentrafficsim.core.math.Direction3d

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.math.Direction3d at new org.opentrafficsim.core.math.Direction3d(DirectionVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 38 Medium
new org.opentrafficsim.core.math.Direction3d(DirectionVector) may expose internal representation by storing an externally mutable object into Direction3d.rotation MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

org.opentrafficsim.core.math.Speed3d

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.math.Speed3d at new org.opentrafficsim.core.math.Speed3d(SpeedVector) 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
new org.opentrafficsim.core.math.Speed3d(SpeedVector) may expose internal representation by storing an externally mutable object into Speed3d.speed MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

org.opentrafficsim.core.network.CapacityLink

Bug Category Details Line Priority
org.opentrafficsim.core.network.CapacityLink.getCapacity() may expose internal representation by returning CapacityLink.capacity MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
new org.opentrafficsim.core.network.CapacityLink(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction, Frequency) may expose internal representation by storing an externally mutable object into CapacityLink.capacity MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium
org.opentrafficsim.core.network.CapacityLink.setCapacity(Frequency) may expose internal representation by storing an externally mutable object into CapacityLink.capacity MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium
org.opentrafficsim.core.network.CapacityLink doesn't override Link.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

org.opentrafficsim.core.network.Connector

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.network.Connector at new org.opentrafficsim.core.network.Connector(Network, String, Node, Node, LinkType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 42 Medium
org.opentrafficsim.core.network.Connector doesn't override Link.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

org.opentrafficsim.core.network.Link

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.network.Link at new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 113 Medium
org.opentrafficsim.core.network.Link.getEndNode() may expose internal representation by returning Link.endNode MALICIOUS_CODE EI_EXPOSE_REP 226 Medium
org.opentrafficsim.core.network.Link.getNetwork() may expose internal representation by returning Link.network MALICIOUS_CODE EI_EXPOSE_REP 202 Medium
org.opentrafficsim.core.network.Link.getStartNode() may expose internal representation by returning Link.startNode MALICIOUS_CODE EI_EXPOSE_REP 217 Medium
org.opentrafficsim.core.network.Link.getType() may expose internal representation by returning Link.linkType MALICIOUS_CODE EI_EXPOSE_REP 232 Medium
new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.endNode MALICIOUS_CODE EI_EXPOSE_REP2 123 Medium
new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.linkType MALICIOUS_CODE EI_EXPOSE_REP2 124 Medium
new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.network MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.startNode MALICIOUS_CODE EI_EXPOSE_REP2 122 Medium
Class org.opentrafficsim.core.network.Link defines non-transient non-serializable instance field elevation BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.core.network.Link defines non-transient non-serializable instance field shape BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.base.geometry.PolygonShape stored into non-transient field Link.shape BAD_PRACTICE SE_BAD_FIELD_STORE 132 High

org.opentrafficsim.core.network.LinkPosition

Bug Category Details Line Priority
org.opentrafficsim.core.network.LinkPosition.link() may expose internal representation by returning LinkPosition.link MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
new org.opentrafficsim.core.network.LinkPosition(Link, double) may expose internal representation by storing an externally mutable object into LinkPosition.link MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium

org.opentrafficsim.core.network.Network

Bug Category Details Line Priority
org.opentrafficsim.core.network.Network.setRawRouteMap(Map) may expose internal representation by storing an externally mutable object into Network.routeMap MALICIOUS_CODE EI_EXPOSE_REP2 919 Medium
Class org.opentrafficsim.core.network.Network defines non-transient non-serializable instance field linkGraphs BAD_PRACTICE SE_BAD_FIELD Not available High
org.opentrafficsim.core.network.Network.getObjectMap(Class) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 390 Medium
org.opentrafficsim.core.network.Network.getRoute(String) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 688 Medium

org.opentrafficsim.core.network.Node

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.network.Node at new org.opentrafficsim.core.network.Node(Network, String, OrientedPoint2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 105 Medium
Exception thrown in class org.opentrafficsim.core.network.Node at new org.opentrafficsim.core.network.Node(Network, String, Point2d) 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
Exception thrown in class org.opentrafficsim.core.network.Node at new org.opentrafficsim.core.network.Node(Network, String, Point2d, Direction) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 93 Medium
org.opentrafficsim.core.network.Node.getNetwork() may expose internal representation by returning Node.network MALICIOUS_CODE EI_EXPOSE_REP 128 Medium
new org.opentrafficsim.core.network.Node(Network, String, OrientedPoint2d) may expose internal representation by storing an externally mutable object into Node.network MALICIOUS_CODE EI_EXPOSE_REP2 109 Medium
Class org.opentrafficsim.core.network.Node defines non-transient non-serializable instance field shape BAD_PRACTICE SE_BAD_FIELD Not available High
org.opentrafficsim.base.geometry.PolygonShape stored into non-transient field Node.shape BAD_PRACTICE SE_BAD_FIELD_STORE 117 High

org.opentrafficsim.core.network.route.FixedRouteGenerator

Bug Category Details Line Priority
org.opentrafficsim.core.network.route.FixedRouteGenerator is Serializable but its superclass doesn't define an accessible void constructor BAD_PRACTICE SE_NO_SUITABLE_CONSTRUCTOR 28-44 High

org.opentrafficsim.core.network.route.Route

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.network.route.Route at new org.opentrafficsim.core.network.route.Route(String, GtuType, List) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 79 Medium
org.opentrafficsim.core.network.route.Route.getNodes() may expose internal representation by returning Route.nodes MALICIOUS_CODE EI_EXPOSE_REP 159 Medium

org.opentrafficsim.core.object.StaticObject

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.object.StaticObject at new org.opentrafficsim.core.object.StaticObject(String, OrientedPoint2d, Polygon2d, Length) 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
org.opentrafficsim.core.object.StaticObject.getHeight() may expose internal representation by returning StaticObject.height MALICIOUS_CODE EI_EXPOSE_REP 125 Medium
Class org.opentrafficsim.core.object.StaticObject defines non-transient non-serializable instance field shape BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.base.geometry.PolygonShape stored into non-transient field StaticObject.shape BAD_PRACTICE SE_BAD_FIELD_STORE 64 Medium

org.opentrafficsim.core.parameters.ParameterFactoryByType

Bug Category Details Line Priority
org.opentrafficsim.core.parameters.ParameterFactoryByType.setParameter(ParameterType, Object, Parameters, Map) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 185 Medium
org.opentrafficsim.core.parameters.ParameterFactoryByType.setValues(Parameters, GtuType) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 91 Medium

org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry

Bug Category Details Line Priority
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry is serializable but also an inner class of a non-serializable class BAD_PRACTICE SE_BAD_FIELD_INNER_CLASS 447-484 High
Should org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 447-484 Medium

org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble

Bug Category Details Line Priority
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble is serializable but also an inner class of a non-serializable class BAD_PRACTICE SE_BAD_FIELD_INNER_CLASS 499-535 High
Should org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 499-535 Medium

org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger

Bug Category Details Line Priority
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger is serializable but also an inner class of a non-serializable class BAD_PRACTICE SE_BAD_FIELD_INNER_CLASS 550-586 High
Should org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 550-586 Medium

org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry

Bug Category Details Line Priority
org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry is serializable but also an inner class of a non-serializable class BAD_PRACTICE SE_BAD_FIELD_INNER_CLASS 409-429 High
Should org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 409-429 Medium

org.opentrafficsim.core.perception.AbstractHistorical

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.perception.AbstractHistorical at new org.opentrafficsim.core.perception.AbstractHistorical(HistoryManager, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 71 Medium

org.opentrafficsim.core.perception.HistoricalParameters

Bug Category Details Line Priority
new org.opentrafficsim.core.perception.HistoricalParameters(HistoryManager, Object, Parameters) may expose internal representation by storing an externally mutable object into HistoricalParameters.params MALICIOUS_CODE EI_EXPOSE_REP2 36 Medium

org.opentrafficsim.core.perception.HistoryManagerDevs

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.perception.HistoryManagerDevs at new org.opentrafficsim.core.perception.HistoryManagerDevs(OtsSimulatorInterface, Duration, Duration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 53 Medium
new org.opentrafficsim.core.perception.HistoryManagerDevs(OtsSimulatorInterface, Duration, Duration) may expose internal representation by storing an externally mutable object into HistoryManagerDevs.cleanUpInterval MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium
new org.opentrafficsim.core.perception.HistoryManagerDevs(OtsSimulatorInterface, Duration, Duration) may expose internal representation by storing an externally mutable object into HistoryManagerDevs.history MALICIOUS_CODE EI_EXPOSE_REP2 51 Medium

org.opentrafficsim.core.perception.collections.AbstractHistoricalList

Bug Category Details Line Priority
org.opentrafficsim.core.perception.collections.AbstractHistoricalList.get(int) is unsynchronized, org.opentrafficsim.core.perception.collections.AbstractHistoricalList.set(int, Object) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 107 Medium

org.opentrafficsim.core.perception.collections.AbstractHistoricalMap

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.core.perception.collections.AbstractHistoricalMap at new org.opentrafficsim.core.perception.collections.AbstractHistoricalMap(HistoryManager, Object, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 48 Medium

org.opentrafficsim.core.units.distributions.AbstractContinuousDistScalar

Bug Category Details Line Priority
org.opentrafficsim.core.units.distributions.AbstractContinuousDistScalar.getDistribution() may expose internal representation by returning AbstractContinuousDistScalar.distribution MALICIOUS_CODE EI_EXPOSE_REP 58 Medium

org.opentrafficsim.core.units.distributions.AbstractDiscreteDistScalar

Bug Category Details Line Priority
org.opentrafficsim.core.units.distributions.AbstractDiscreteDistScalar.getDistribution() may expose internal representation by returning AbstractDiscreteDistScalar.distribution MALICIOUS_CODE EI_EXPOSE_REP 58 Medium