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
558 518 0 0

Files

Class Bugs
org.opentrafficsim.road.gtu.generator.GeneratorPositions 1
org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$BySpeed 3
org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$ByValue 1
org.opentrafficsim.road.gtu.generator.GtuSpawner 2
org.opentrafficsim.road.gtu.generator.Injections 6
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator 11
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator$Placement 2
org.opentrafficsim.road.gtu.generator.Platoons 5
org.opentrafficsim.road.gtu.generator.Platoons$PlatoonGtu 1
org.opentrafficsim.road.gtu.generator.TtcRoomChecker 2
org.opentrafficsim.road.gtu.generator.characteristics.DefaultLaneBasedGtuCharacteristicsGeneratorOd$Factory 1
org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics 5
org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuTemplate 1
org.opentrafficsim.road.gtu.generator.headway.ArrivalsHeadwayGenerator 1
org.opentrafficsim.road.gtu.generator.headway.DemandPattern 4
org.opentrafficsim.road.gtu.generator.headway.HeadwayGenerator 2
org.opentrafficsim.road.gtu.lane.AbstractLaneBasedMoveChecker 1
org.opentrafficsim.road.gtu.lane.AccelerationChecker 3
org.opentrafficsim.road.gtu.lane.Break 1
org.opentrafficsim.road.gtu.lane.LaneBasedGtu 25
org.opentrafficsim.road.gtu.lane.MultiLaneBasedMoveChecker 1
org.opentrafficsim.road.gtu.lane.VehicleModel$MassBased 2
org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable 1
org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry 6
org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable 1
org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable$PrimaryIteratorEntry 3
org.opentrafficsim.road.gtu.lane.perception.CategoricalLanePerception 3
org.opentrafficsim.road.gtu.lane.perception.PerceptionCollectable$UnderlyingDistance 2
org.opentrafficsim.road.gtu.lane.perception.PerceptionIterableSet 1
org.opentrafficsim.road.gtu.lane.perception.RelativeLane 1
org.opentrafficsim.road.gtu.lane.perception.categories.AnticipationDensity$CountAndDistance 2
org.opentrafficsim.road.gtu.lane.perception.categories.DirectDefaultSimplePerception 1
org.opentrafficsim.road.gtu.lane.perception.categories.DirectInfrastructurePerception 2
org.opentrafficsim.road.gtu.lane.perception.categories.DirectIntersectionPerception 1
org.opentrafficsim.road.gtu.lane.perception.categories.WienerProcess 1
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.CaccPerception 1
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.DirectNeighborsPerception 1
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet 6
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.TaskHeadwayCollector 1
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway 7
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy 12
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu 19
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject 5
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayBusStop 2
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict 15
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict$Width 3
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayDistance 2
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuReal 3
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuRealCopy 2
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuType 4
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayTrafficLight 1
org.opentrafficsim.road.gtu.lane.perception.mental.ExponentialTask 1
org.opentrafficsim.road.gtu.lane.perception.mental.Fuller 3
org.opentrafficsim.road.gtu.lane.perception.mental.TaskLaneChanging 1
org.opentrafficsim.road.gtu.lane.perception.mental.TaskRoadSideDistraction 1
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DefaultDistraction 3
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.Distraction 3
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DistractionFactory 2
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.StochasticDistractionModel 3
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord 9
org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure 3
org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$Entry 4
org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$ObjectIterator 1
org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord 7
org.opentrafficsim.road.gtu.lane.plan.operational.LaneBasedOperationalPlan 1
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange 7
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange$LaneChangePath$SequentialLaneChangePath 2
org.opentrafficsim.road.gtu.lane.plan.operational.LaneOperationalPlanBuilder 3
org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan 6
org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner 2
org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlanner 2
org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlannerFactory 1
org.opentrafficsim.road.gtu.lane.tactical.LaneBasedGtuFollowingTacticalPlannerFactory 1
org.opentrafficsim.road.gtu.lane.tactical.LanePathInfo 4
org.opentrafficsim.road.gtu.lane.tactical.NextSplitInfo 4
org.opentrafficsim.road.gtu.lane.tactical.following.AbstractGtuFollowingModelMobil 2
org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep 6
org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel 7
org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld 8
org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld 8
org.opentrafficsim.road.gtu.lane.tactical.following.SequentialFixedAccelerationModel 2
org.opentrafficsim.road.gtu.lane.tactical.lanechangemobil.AbstractLaneChangeModel 1
org.opentrafficsim.road.gtu.lane.tactical.lmrs.Lmrs 2
org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory 8
org.opentrafficsim.road.gtu.lane.tactical.lmrs.SocioDesiredSpeed 1
org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule 2
org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule$BusStopInfo 1
org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo 1
org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapAcceptanceInfo 2
org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapInfo 2
org.opentrafficsim.road.gtu.lane.tactical.toledo.ToledoPerception 1
org.opentrafficsim.road.gtu.lane.tactical.util.AnticipationInfo 4
org.opentrafficsim.road.gtu.lane.tactical.util.CarFollowingUtil$CarFollowingHeadway 2
org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil 1
org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil$ConflictPlans 2
org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner 10
org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlannerFactory 5
org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator 4
org.opentrafficsim.road.network.LaneChangeInfo 2
org.opentrafficsim.road.network.RoadNetwork 2
org.opentrafficsim.road.network.RoadNetwork$RouteWeightedGraph 2
org.opentrafficsim.road.network.control.rampmetering.AlineaSwitch 1
org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController 5
org.opentrafficsim.road.network.control.rampmetering.RampMetering 1
org.opentrafficsim.road.network.control.rampmetering.RwsSwitch 1
org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch 4
org.opentrafficsim.road.network.factory.LaneFactory 11
org.opentrafficsim.road.network.lane.CrossSectionElement 3
org.opentrafficsim.road.network.lane.CrossSectionLink 1
org.opentrafficsim.road.network.lane.CrossSectionSlice 6
org.opentrafficsim.road.network.lane.Lane 11
org.opentrafficsim.road.network.lane.LanePosition 4
org.opentrafficsim.road.network.lane.RoadMarkerAcross 4
org.opentrafficsim.road.network.lane.SliceInfo 2
org.opentrafficsim.road.network.lane.Stripe 1
org.opentrafficsim.road.network.lane.Stripe$Type 1
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftAlwaysRightSpeed 1
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSet 2
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightJam 2
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightSpeed 3
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightAlwaysLeftSpeed 1
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSet 2
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftJam 2
org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftSpeed 3
org.opentrafficsim.road.network.lane.conflict.BusStopConflictRule 1
org.opentrafficsim.road.network.lane.conflict.Conflict 7
org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictEnd 2
org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtu 1
org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtuIterable 1
org.opentrafficsim.road.network.lane.conflict.ConflictBuilder 1
org.opentrafficsim.road.network.lane.conflict.DefaultConflictRule 2
org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject 4
org.opentrafficsim.road.network.lane.object.BusStop 3
org.opentrafficsim.road.network.lane.object.Distraction 2
org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile 4
org.opentrafficsim.road.network.lane.object.SpeedSign 6
org.opentrafficsim.road.network.lane.object.detector.LaneDetector 5
org.opentrafficsim.road.network.lane.object.detector.LoopDetector 9
org.opentrafficsim.road.network.lane.object.detector.LoopDetector$PlatoonSizes 1
org.opentrafficsim.road.network.lane.object.detector.SinkDetector 1
org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector 3
org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector$StartEndDetector 2
org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight 2
org.opentrafficsim.road.network.sampling.GtuDataRoad 2
org.opentrafficsim.road.network.sampling.LaneDataRoad 2
org.opentrafficsim.road.network.sampling.LinkDataRoad 2
org.opentrafficsim.road.network.sampling.RoadSampler 6
org.opentrafficsim.road.network.sampling.RoadSampler$Factory 1
org.opentrafficsim.road.network.sampling.data.WorldDirData 1
org.opentrafficsim.road.network.speed.SpeedInfoCurvature 2
org.opentrafficsim.road.network.speed.SpeedLimitInfo 1
org.opentrafficsim.road.network.speed.SpeedLimitProspect 2
org.opentrafficsim.road.network.speed.SpeedLimitType 1
org.opentrafficsim.road.od.Categorization 2
org.opentrafficsim.road.od.Category 2
org.opentrafficsim.road.od.OdApplier 2
org.opentrafficsim.road.od.OdApplier$GeneratorObjects 2
org.opentrafficsim.road.od.OdMatrix 5
org.opentrafficsim.road.od.OdOptions$OptionSet 1
org.opentrafficsim.road.od.SplitFraction 3

org.opentrafficsim.road.gtu.generator.GeneratorPositions

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.GeneratorPositions.create(Set, StreamInterface, GeneratorPositions$LaneBiases, Map, Map) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 147 Medium

org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$BySpeed

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$BySpeed at new org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$BySpeed(Speed, Speed) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 978 Medium
new org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$BySpeed(Speed, Speed) may expose internal representation by storing an externally mutable object into GeneratorPositions$RoadPosition$BySpeed.leftSpeed MALICIOUS_CODE EI_EXPOSE_REP2 980 Medium
new org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$BySpeed(Speed, Speed) may expose internal representation by storing an externally mutable object into GeneratorPositions$RoadPosition$BySpeed.rightSpeed MALICIOUS_CODE EI_EXPOSE_REP2 981 Medium

org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$ByValue

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$ByValue at new org.opentrafficsim.road.gtu.generator.GeneratorPositions$RoadPosition$ByValue(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 901 Medium

org.opentrafficsim.road.gtu.generator.GtuSpawner

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.GtuSpawner.setNoLaneChangeDistance(Length) may expose internal representation by storing an externally mutable object into GtuSpawner.noLaneChangeDistance MALICIOUS_CODE EI_EXPOSE_REP2 77 Medium
org.opentrafficsim.road.gtu.generator.GtuSpawner.setStream(StreamInterface) may expose internal representation by storing an externally mutable object into GtuSpawner.stream MALICIOUS_CODE EI_EXPOSE_REP2 66 Medium

org.opentrafficsim.road.gtu.generator.Injections

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.generator.Injections at new org.opentrafficsim.road.gtu.generator.Injections(Table, Network, ImmutableMap, LaneBasedStrategicalPlannerFactory, StreamInterface, Duration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 204 Medium
org.opentrafficsim.road.gtu.generator.Injections.getAllPositions() may expose internal representation by returning Injections.allLanePositions MALICIOUS_CODE EI_EXPOSE_REP 542 Medium
new org.opentrafficsim.road.gtu.generator.Injections(Table, Network, ImmutableMap, LaneBasedStrategicalPlannerFactory, StreamInterface, Duration) may expose internal representation by storing an externally mutable object into Injections.network MALICIOUS_CODE EI_EXPOSE_REP2 209 Medium
new org.opentrafficsim.road.gtu.generator.Injections(Table, Network, ImmutableMap, LaneBasedStrategicalPlannerFactory, StreamInterface, Duration) may expose internal representation by storing an externally mutable object into Injections.stream MALICIOUS_CODE EI_EXPOSE_REP2 213 Medium
new org.opentrafficsim.road.gtu.generator.Injections(Table, Network, ImmutableMap, LaneBasedStrategicalPlannerFactory, StreamInterface, Duration) may expose internal representation by storing an externally mutable object into Injections.timeToCollision MALICIOUS_CODE EI_EXPOSE_REP2 212 Medium
Inconsistent synchronization of org.opentrafficsim.road.gtu.generator.Injections.characteristicsRow; locked 66% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 598 Medium

org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator at new org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator(String, Generator, LaneBasedGtuCharacteristicsGenerator, GeneratorPositions, RoadNetwork, OtsSimulatorInterface, LaneBasedGtuGenerator$RoomChecker, Supplier) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 170 Medium
new org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator(String, Generator, LaneBasedGtuCharacteristicsGenerator, GeneratorPositions, RoadNetwork, OtsSimulatorInterface, LaneBasedGtuGenerator$RoomChecker, Supplier) may expose internal representation by storing an externally mutable object into LaneBasedGtuGenerator.network MALICIOUS_CODE EI_EXPOSE_REP2 166 Medium
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator.setNoLaneChangeDistance(Length) may expose internal representation by storing an externally mutable object into LaneBasedGtuGenerator.noLaneChangeDistance MALICIOUS_CODE EI_EXPOSE_REP2 188 Medium
Null passed for non-null parameter of queueGtu(GeneratorPositions$GeneratorLanePosition, LaneBasedGtuCharacteristics) in org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator.queueGtu(LaneBasedGtuCharacteristics, Lane) CORRECTNESS NP_NULL_PARAM_DEREF 351 Medium
Class org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator defines non-transient non-serializable instance field errorHandler BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator defines non-transient non-serializable instance field generatorPositions BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator defines non-transient non-serializable instance field roomChecker BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator defines non-transient non-serializable instance field unplacedTemplates BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator.generateCharacteristics() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 245 Medium
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator.generateCharacteristics() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 248 Medium
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator.getQueueLength(GeneratorPositions$GeneratorLanePosition) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 572 Medium

org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator$Placement

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator$Placement.getSpeed() may expose internal representation by returning LaneBasedGtuGenerator$Placement.speed MALICIOUS_CODE EI_EXPOSE_REP 666 Medium
new org.opentrafficsim.road.gtu.generator.LaneBasedGtuGenerator$Placement(Speed, LanePosition) may expose internal representation by storing an externally mutable object into LaneBasedGtuGenerator$Placement.speed MALICIOUS_CODE EI_EXPOSE_REP2 647 Medium

org.opentrafficsim.road.gtu.generator.Platoons

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.Platoons.addPlatoon(Time, Time) may expose internal representation by storing an externally mutable object into Platoons.endTime MALICIOUS_CODE EI_EXPOSE_REP2 176 Medium
org.opentrafficsim.road.gtu.generator.Platoons.addPlatoon(Time, Time) may expose internal representation by storing an externally mutable object into Platoons.startTime MALICIOUS_CODE EI_EXPOSE_REP2 175 Medium
org.opentrafficsim.road.gtu.generator.Platoons.fixInfo(Node, Node, Object) may expose internal representation by storing an externally mutable object into Platoons.fixedDestination MALICIOUS_CODE EI_EXPOSE_REP2 191 Medium
org.opentrafficsim.road.gtu.generator.Platoons.fixInfo(Node, Node, Object) may expose internal representation by storing an externally mutable object into Platoons.fixedOrigin MALICIOUS_CODE EI_EXPOSE_REP2 190 Medium
org.opentrafficsim.road.gtu.generator.Platoons.start(LaneBasedGtuGenerator) may expose internal representation by storing an externally mutable object into Platoons.gen MALICIOUS_CODE EI_EXPOSE_REP2 239 Medium

org.opentrafficsim.road.gtu.generator.Platoons$PlatoonGtu

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.Platoons$PlatoonGtu defines compareTo(Platoons$PlatoonGtu) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 407-411 Medium

org.opentrafficsim.road.gtu.generator.TtcRoomChecker

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.TtcRoomChecker.getTtc() may expose internal representation by returning TtcRoomChecker.ttc MALICIOUS_CODE EI_EXPOSE_REP 75 Medium
new org.opentrafficsim.road.gtu.generator.TtcRoomChecker(Duration) may expose internal representation by storing an externally mutable object into TtcRoomChecker.ttc MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium

org.opentrafficsim.road.gtu.generator.characteristics.DefaultLaneBasedGtuCharacteristicsGeneratorOd$Factory

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.characteristics.DefaultLaneBasedGtuCharacteristicsGeneratorOd$Factory.setTemplates(Set) may expose internal representation by storing an externally mutable object into DefaultLaneBasedGtuCharacteristicsGeneratorOd$Factory.templates MALICIOUS_CODE EI_EXPOSE_REP2 184 Medium

org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics.getDestination() may expose internal representation by returning LaneBasedGtuCharacteristics.destination MALICIOUS_CODE EI_EXPOSE_REP 91 Medium
org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics.getOrigin() may expose internal representation by returning LaneBasedGtuCharacteristics.origin MALICIOUS_CODE EI_EXPOSE_REP 83 Medium
new org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics(GtuCharacteristics, LaneBasedStrategicalPlannerFactory, Route, Node, Node, VehicleModel) may expose internal representation by storing an externally mutable object into LaneBasedGtuCharacteristics.destination MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium
new org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics(GtuCharacteristics, LaneBasedStrategicalPlannerFactory, Route, Node, Node, VehicleModel) may expose internal representation by storing an externally mutable object into LaneBasedGtuCharacteristics.origin MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium
Class org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuCharacteristics defines non-transient non-serializable instance field vehicleModel BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuTemplate

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuTemplate at new org.opentrafficsim.road.gtu.generator.characteristics.LaneBasedGtuTemplate(GtuType, Generator, Generator, Generator, LaneBasedStrategicalPlannerFactory, Generator) 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.road.gtu.generator.headway.ArrivalsHeadwayGenerator

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.generator.headway.ArrivalsHeadwayGenerator(Arrivals, OtsSimulatorInterface, StreamInterface, ArrivalsHeadwayGenerator$HeadwayDistribution) may expose internal representation by storing an externally mutable object into ArrivalsHeadwayGenerator.stream MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium

org.opentrafficsim.road.gtu.generator.headway.DemandPattern

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.generator.headway.DemandPattern.demandVector() may expose internal representation by returning DemandPattern.demandVector MALICIOUS_CODE EI_EXPOSE_REP 22 Medium
org.opentrafficsim.road.gtu.generator.headway.DemandPattern.timeVector() may expose internal representation by returning DemandPattern.timeVector MALICIOUS_CODE EI_EXPOSE_REP 22 Medium
new org.opentrafficsim.road.gtu.generator.headway.DemandPattern(FrequencyVector, TimeVector, Interpolation) may expose internal representation by storing an externally mutable object into DemandPattern.demandVector MALICIOUS_CODE EI_EXPOSE_REP2 22 Medium
new org.opentrafficsim.road.gtu.generator.headway.DemandPattern(FrequencyVector, TimeVector, Interpolation) may expose internal representation by storing an externally mutable object into DemandPattern.timeVector MALICIOUS_CODE EI_EXPOSE_REP2 22 Medium

org.opentrafficsim.road.gtu.generator.headway.HeadwayGenerator

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.generator.headway.HeadwayGenerator(Frequency, StreamInterface) may expose internal representation by storing an externally mutable object into HeadwayGenerator.demand MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium
new org.opentrafficsim.road.gtu.generator.headway.HeadwayGenerator(Frequency, StreamInterface) may expose internal representation by storing an externally mutable object into HeadwayGenerator.stream MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

org.opentrafficsim.road.gtu.lane.AbstractLaneBasedMoveChecker

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.AbstractLaneBasedMoveChecker(Network) may expose internal representation by storing an externally mutable object into AbstractLaneBasedMoveChecker.network MALICIOUS_CODE EI_EXPOSE_REP2 36 Medium

org.opentrafficsim.road.gtu.lane.AccelerationChecker

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.AccelerationChecker(Network, Acceleration, Acceleration, Speed) may expose internal representation by storing an externally mutable object into AccelerationChecker.max MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium
new org.opentrafficsim.road.gtu.lane.AccelerationChecker(Network, Acceleration, Acceleration, Speed) may expose internal representation by storing an externally mutable object into AccelerationChecker.min MALICIOUS_CODE EI_EXPOSE_REP2 49 Medium
new org.opentrafficsim.road.gtu.lane.AccelerationChecker(Network, Acceleration, Acceleration, Speed) may expose internal representation by storing an externally mutable object into AccelerationChecker.minSpeed MALICIOUS_CODE EI_EXPOSE_REP2 51 Medium

org.opentrafficsim.road.gtu.lane.Break

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive org.opentrafficsim.road.gtu.lane.Break.timeFromString(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 110 High

org.opentrafficsim.road.gtu.lane.LaneBasedGtu

Bug Category Details Line Priority
Dead store to pos in org.opentrafficsim.road.gtu.lane.LaneBasedGtu.scheduleLeaveEvent() STYLE DLS_DEAD_LOCAL_STORE 765 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.getCarFollowingAcceleration() may expose internal representation by returning LaneBasedGtu.cachedCarFollowingAcceleration MALICIOUS_CODE EI_EXPOSE_REP 1517 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.getDesiredSpeed() may expose internal representation by returning LaneBasedGtu.cachedDesiredSpeed MALICIOUS_CODE EI_EXPOSE_REP 1482 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.setNoLaneChangeDistance(Length) may expose internal representation by storing an externally mutable object into LaneBasedGtu.noLaneChangeDistance MALICIOUS_CODE EI_EXPOSE_REP2 1628 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu doesn't override org.opentrafficsim.core.gtu.Gtu.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium
Inconsistent synchronization of org.opentrafficsim.road.gtu.lane.LaneBasedGtu.finalizeLaneChangeEvent; locked 42% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 487 Medium
Inconsistent synchronization of org.opentrafficsim.road.gtu.lane.LaneBasedGtu.pendingEnterTrigger; locked 40% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 577 Medium
Inconsistent synchronization of org.opentrafficsim.road.gtu.lane.LaneBasedGtu.pendingLeaveTrigger; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 581 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.CACHED_POSITION should be package protected MALICIOUS_CODE MS_PKGPROTECT 158 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.NON_CACHED_POSITION should be package protected MALICIOUS_CODE MS_PKGPROTECT 162 Medium
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.CACHING isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 154 High
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.LANEBASED_DESTROY_EVENT isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 1743 High
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.LANEBASED_MOVE_EVENT isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 1725 High
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.LANE_CHANGE_EVENT isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 1780 High
org.opentrafficsim.road.gtu.lane.LaneBasedGtu.eventMargin isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 147 High
Possible null pointer dereference of longitudinalPosition in org.opentrafficsim.road.gtu.lane.LaneBasedGtu.init(LaneBasedStrategicalPlanner, LanePosition, Speed) CORRECTNESS NP_NULL_ON_SOME_PATH 208 High
Primitive field org.opentrafficsim.road.gtu.lane.LaneBasedGtu.CACHED_POSITION 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 158 Medium
Primitive field org.opentrafficsim.road.gtu.lane.LaneBasedGtu.NON_CACHED_POSITION 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 162 Medium
Exception is caught when Exception is not thrown in org.opentrafficsim.road.gtu.lane.LaneBasedGtu.position(Lane, RelativePosition, Time) STYLE REC_CATCH_EXCEPTION 1217 Medium
Class org.opentrafficsim.road.gtu.lane.LaneBasedGtu defines non-transient non-serializable instance field cachedPositions BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.LaneBasedGtu defines non-transient non-serializable instance field crossSections BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.LaneBasedGtu defines non-transient non-serializable instance field turnIndicatorStatus BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.LaneBasedGtu defines non-transient non-serializable instance field vehicleModel BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field LaneBasedGtu.turnIndicatorStatus BAD_PRACTICE SE_BAD_FIELD_STORE 190 Medium
Static field "CACHED_POSITION" is modified by an instance level synchronization lock. MT_CORRECTNESS SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA 1097 Medium

org.opentrafficsim.road.gtu.lane.MultiLaneBasedMoveChecker

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.MultiLaneBasedMoveChecker at new org.opentrafficsim.road.gtu.lane.MultiLaneBasedMoveChecker(Network, AbstractLaneBasedMoveChecker[]) 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

org.opentrafficsim.road.gtu.lane.VehicleModel$MassBased

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.VehicleModel$MassBased.getMass() may expose internal representation by returning VehicleModel$MassBased.mass MALICIOUS_CODE EI_EXPOSE_REP 121 Medium
new org.opentrafficsim.road.gtu.lane.VehicleModel$MassBased(Mass, double) may expose internal representation by storing an externally mutable object into VehicleModel$MassBased.mass MALICIOUS_CODE EI_EXPOSE_REP2 106 Medium

org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable(LaneBasedGtu, LaneRecordInterface, Length, boolean, Length, RelativePosition, Route) may expose internal representation by storing an externally mutable object into AbstractPerceptionIterable.initialPosition MALICIOUS_CODE EI_EXPOSE_REP2 73 Medium

org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry.getSet() may expose internal representation by returning AbstractPerceptionIterable$Entry.set MALICIOUS_CODE EI_EXPOSE_REP 439 Medium
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry(AbstractPerceptionIterable, Object, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionIterable$Entry.position MALICIOUS_CODE EI_EXPOSE_REP2 398 Medium
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry(AbstractPerceptionIterable, Object, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionIterable$Entry.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 394 Medium
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry(AbstractPerceptionIterable, Set, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionIterable$Entry.position MALICIOUS_CODE EI_EXPOSE_REP2 412 Medium
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry(AbstractPerceptionIterable, Set, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionIterable$Entry.set MALICIOUS_CODE EI_EXPOSE_REP2 409 Medium
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionIterable$Entry(AbstractPerceptionIterable, Set, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionIterable$Entry.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 408 Medium

org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable

Bug Category Details Line Priority
Inconsistent synchronization of org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable.first; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 156 Medium

org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable$PrimaryIteratorEntry

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable$PrimaryIteratorEntry(AbstractPerceptionReiterable, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionReiterable$PrimaryIteratorEntry.distance MALICIOUS_CODE EI_EXPOSE_REP2 360 Medium
new org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable$PrimaryIteratorEntry(AbstractPerceptionReiterable, Object, Length) may expose internal representation by storing an externally mutable object into AbstractPerceptionReiterable$PrimaryIteratorEntry.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 358 Medium
org.opentrafficsim.road.gtu.lane.perception.AbstractPerceptionReiterable$PrimaryIteratorEntry defines compareTo(AbstractPerceptionReiterable$PrimaryIteratorEntry) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 367 Medium

org.opentrafficsim.road.gtu.lane.perception.CategoricalLanePerception

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.CategoricalLanePerception.getLaneStructure() may expose internal representation by returning CategoricalLanePerception.laneStructure MALICIOUS_CODE EI_EXPOSE_REP 82 Medium
Class org.opentrafficsim.road.gtu.lane.perception.CategoricalLanePerception defines non-transient non-serializable instance field laneStructure BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.perception.CategoricalLanePerception defines non-transient non-serializable instance field mental BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.perception.PerceptionCollectable$UnderlyingDistance

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.PerceptionCollectable$UnderlyingDistance.getDistance() may expose internal representation by returning PerceptionCollectable$UnderlyingDistance.distance MALICIOUS_CODE EI_EXPOSE_REP 271 Medium
new org.opentrafficsim.road.gtu.lane.perception.PerceptionCollectable$UnderlyingDistance(Object, Length) may expose internal representation by storing an externally mutable object into PerceptionCollectable$UnderlyingDistance.distance MALICIOUS_CODE EI_EXPOSE_REP2 255 Medium

org.opentrafficsim.road.gtu.lane.perception.PerceptionIterableSet

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.PerceptionIterableSet(SortedSet) may expose internal representation by storing an externally mutable object into PerceptionIterableSet.set MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium

org.opentrafficsim.road.gtu.lane.perception.RelativeLane

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.RelativeLane at new org.opentrafficsim.road.gtu.lane.perception.RelativeLane(LateralDirectionality, int) 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.road.gtu.lane.perception.categories.AnticipationDensity$CountAndDistance

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.categories.AnticipationDensity$CountAndDistance.getDistance() may expose internal representation by returning AnticipationDensity$CountAndDistance.distance MALICIOUS_CODE EI_EXPOSE_REP 116 Medium
org.opentrafficsim.road.gtu.lane.perception.categories.AnticipationDensity$CountAndDistance.setDistance(Length) may expose internal representation by storing an externally mutable object into AnticipationDensity$CountAndDistance.distance MALICIOUS_CODE EI_EXPOSE_REP2 124 Medium

org.opentrafficsim.road.gtu.lane.perception.categories.DirectDefaultSimplePerception

Bug Category Details Line Priority
Call to org.opentrafficsim.road.gtu.lane.LaneBasedGtu.equals(org.opentrafficsim.road.gtu.lane.perception.categories.DirectDefaultSimplePerception) in org.opentrafficsim.road.gtu.lane.perception.categories.DirectDefaultSimplePerception.parallel(Lane, Time) CORRECTNESS EC_UNRELATED_TYPES 924 High

org.opentrafficsim.road.gtu.lane.perception.categories.DirectInfrastructurePerception

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.categories.DirectInfrastructurePerception.LOOKAHEAD isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 54 High
org.opentrafficsim.road.gtu.lane.perception.categories.DirectInfrastructurePerception.PERCEPTION isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 51 High

org.opentrafficsim.road.gtu.lane.perception.categories.DirectIntersectionPerception

Bug Category Details Line Priority
Class org.opentrafficsim.road.gtu.lane.perception.categories.DirectIntersectionPerception defines non-transient non-serializable instance field headwayGtuType BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.perception.categories.WienerProcess

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.categories.WienerProcess(StreamInterface, double, double, Duration, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into WienerProcess.tau MALICIOUS_CODE EI_EXPOSE_REP2 67 Medium

org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.CaccPerception

Bug Category Details Line Priority
Class org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.CaccPerception defines non-transient non-serializable instance field sensors BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.DirectNeighborsPerception

Bug Category Details Line Priority
Class org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.DirectNeighborsPerception defines non-transient non-serializable instance field headwayGtuType BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet.acceleration() may expose internal representation by returning NeighborTriplet.acceleration MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet.headway() may expose internal representation by returning NeighborTriplet.headway MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet.speed() may expose internal representation by returning NeighborTriplet.speed MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
new org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet(Length, Speed, Acceleration) may expose internal representation by storing an externally mutable object into NeighborTriplet.acceleration MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium
new org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet(Length, Speed, Acceleration) may expose internal representation by storing an externally mutable object into NeighborTriplet.headway MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium
new org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborTriplet(Length, Speed, Acceleration) may expose internal representation by storing an externally mutable object into NeighborTriplet.speed MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium

org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.TaskHeadwayCollector

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.TaskHeadwayCollector(Speed) may expose internal representation by storing an externally mutable object into TaskHeadwayCollector.speed MALICIOUS_CODE EI_EXPOSE_REP2 36 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway(Length) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 106 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway(Length, 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 119 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway(Length, Length, 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 87 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway.getDistance() may expose internal representation by returning AbstractHeadway.distance MALICIOUS_CODE EI_EXPOSE_REP 126 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway.getOverlap() may expose internal representation by returning AbstractHeadway.overlap MALICIOUS_CODE EI_EXPOSE_REP 147 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway.getOverlapFront() may expose internal representation by returning AbstractHeadway.overlapFront MALICIOUS_CODE EI_EXPOSE_REP 133 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadway.getOverlapRear() may expose internal representation by returning AbstractHeadway.overlapRear MALICIOUS_CODE EI_EXPOSE_REP 140 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 103 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, 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 167 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, 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 136 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, Length, 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 205 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, Length, Length, Length, Speed, Acceleration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 188 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, Length, Length, Speed, Acceleration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 121 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, Length, Speed, Acceleration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 152 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, Length, Speed, Acceleration, Length, 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 70 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy(Headway$ObjectType, String, Length, Speed, Acceleration) 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
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy.getAcceleration() may expose internal representation by returning AbstractHeadwayCopy.acceleration MALICIOUS_CODE EI_EXPOSE_REP 241 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy.getLength() may expose internal representation by returning AbstractHeadwayCopy.length MALICIOUS_CODE EI_EXPOSE_REP 220 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayCopy.getSpeed() may expose internal representation by returning AbstractHeadwayCopy.speed MALICIOUS_CODE EI_EXPOSE_REP 227 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 141 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, GtuStatus[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 172 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) 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.road.gtu.lane.perception.headway.AbstractHeadwayGtu at new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, GtuStatus[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 107 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu.getDesiredSpeed() may expose internal representation by returning AbstractHeadwayGtu.desiredSpeed MALICIOUS_CODE EI_EXPOSE_REP 196 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu.getGtuType() may expose internal representation by returning AbstractHeadwayGtu.gtuType MALICIOUS_CODE EI_EXPOSE_REP 189 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu.getWidth() may expose internal representation by returning AbstractHeadwayGtu.width MALICIOUS_CODE EI_EXPOSE_REP 304 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.desiredSpeed MALICIOUS_CODE EI_EXPOSE_REP2 145 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 144 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.width MALICIOUS_CODE EI_EXPOSE_REP2 142 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.desiredSpeed MALICIOUS_CODE EI_EXPOSE_REP2 176 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 175 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, Length, Length, boolean, Length, Length, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.width MALICIOUS_CODE EI_EXPOSE_REP2 173 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.desiredSpeed MALICIOUS_CODE EI_EXPOSE_REP2 84 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 83 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.width MALICIOUS_CODE EI_EXPOSE_REP2 81 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.desiredSpeed MALICIOUS_CODE EI_EXPOSE_REP2 111 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 110 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayGtu(String, GtuType, Length, boolean, Length, Length, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into AbstractHeadwayGtu.width MALICIOUS_CODE EI_EXPOSE_REP2 108 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject.getLane() may expose internal representation by returning AbstractHeadwayLaneBasedObject.lane MALICIOUS_CODE EI_EXPOSE_REP 96 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject(Headway$ObjectType, String, Length, Length, Length, Length, Lane) may expose internal representation by storing an externally mutable object into AbstractHeadwayLaneBasedObject.lane MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject(Headway$ObjectType, String, Length, Length, Length, Lane) may expose internal representation by storing an externally mutable object into AbstractHeadwayLaneBasedObject.lane MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject(Headway$ObjectType, String, Length, Length, Lane) may expose internal representation by storing an externally mutable object into AbstractHeadwayLaneBasedObject.lane MALICIOUS_CODE EI_EXPOSE_REP2 74 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.AbstractHeadwayLaneBasedObject(Headway$ObjectType, String, Length, Lane) may expose internal representation by storing an externally mutable object into AbstractHeadwayLaneBasedObject.lane MALICIOUS_CODE EI_EXPOSE_REP2 89 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayBusStop

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayBusStop.getConflictIds() may expose internal representation by returning HeadwayBusStop.conflictIds MALICIOUS_CODE EI_EXPOSE_REP 74 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayBusStop(BusStop, Length, RelativeLane, Set, Lane) may expose internal representation by storing an externally mutable object into HeadwayBusStop.conflictIds MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict at new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict(ConflictType, ConflictPriority, Class, String, Length, Length, Length, PerceptionCollectable, PerceptionCollectable, Length, Speed, CrossSectionLink, HeadwayConflict$Width, HeadwayStopLine, HeadwayStopLine, Lane) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 112 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict at new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict(ConflictType, ConflictPriority, Class, String, Length, Length, Length, PerceptionCollectable, PerceptionCollectable, Length, Speed, CrossSectionLink, HeadwayConflict$Width, Lane) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 165 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict.getConflictingLength() may expose internal representation by returning HeadwayConflict.conflictingLength MALICIOUS_CODE EI_EXPOSE_REP 221 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict.getConflictingLink() may expose internal representation by returning HeadwayConflict.conflictingLink MALICIOUS_CODE EI_EXPOSE_REP 270 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict.getConflictingSpeedLimit() may expose internal representation by returning HeadwayConflict.conflictingSpeedLimit MALICIOUS_CODE EI_EXPOSE_REP 261 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict.getConflictingTrafficLightDistance() may expose internal representation by returning HeadwayConflict.conflictingTrafficLightDistance MALICIOUS_CODE EI_EXPOSE_REP 306 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict.getConflictingVisibility() may expose internal representation by returning HeadwayConflict.conflictingVisibility MALICIOUS_CODE EI_EXPOSE_REP 252 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict(ConflictType, ConflictPriority, Class, String, Length, Length, Length, PerceptionCollectable, PerceptionCollectable, Length, Speed, CrossSectionLink, HeadwayConflict$Width, HeadwayStopLine, HeadwayStopLine, Lane) may expose internal representation by storing an externally mutable object into HeadwayConflict.conflictingLength MALICIOUS_CODE EI_EXPOSE_REP2 126 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict(ConflictType, ConflictPriority, Class, String, Length, Length, Length, PerceptionCollectable, PerceptionCollectable, Length, Speed, CrossSectionLink, HeadwayConflict$Width, HeadwayStopLine, HeadwayStopLine, Lane) may expose internal representation by storing an externally mutable object into HeadwayConflict.conflictingLink MALICIOUS_CODE EI_EXPOSE_REP2 131 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict(ConflictType, ConflictPriority, Class, String, Length, Length, Length, PerceptionCollectable, PerceptionCollectable, Length, Speed, CrossSectionLink, HeadwayConflict$Width, HeadwayStopLine, HeadwayStopLine, Lane) may expose internal representation by storing an externally mutable object into HeadwayConflict.conflictingSpeedLimit MALICIOUS_CODE EI_EXPOSE_REP2 130 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict(ConflictType, ConflictPriority, Class, String, Length, Length, Length, PerceptionCollectable, PerceptionCollectable, Length, Speed, CrossSectionLink, HeadwayConflict$Width, HeadwayStopLine, HeadwayStopLine, Lane) may expose internal representation by storing an externally mutable object into HeadwayConflict.conflictingVisibility MALICIOUS_CODE EI_EXPOSE_REP2 129 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict.setConflictingTrafficLight(Length, boolean) may expose internal representation by storing an externally mutable object into HeadwayConflict.conflictingTrafficLightDistance MALICIOUS_CODE EI_EXPOSE_REP2 325 Medium
Class org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict defines non-transient non-serializable instance field downstreamConflictingGTUs BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict defines non-transient non-serializable instance field upstreamConflictingGTUs BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict defines non-transient non-serializable instance field width BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict$Width

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict$Width at new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict$Width(double[], LengthVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 372 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict$Width(double[], LengthVector) may expose internal representation by storing an externally mutable object into HeadwayConflict$Width.fractions MALICIOUS_CODE EI_EXPOSE_REP2 383 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayConflict$Width(double[], LengthVector) may expose internal representation by storing an externally mutable object into HeadwayConflict$Width.width MALICIOUS_CODE EI_EXPOSE_REP2 384 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayDistance

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayDistance.getDistance() may expose internal representation by returning HeadwayDistance.distance MALICIOUS_CODE EI_EXPOSE_REP 73 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayDistance(Length) may expose internal representation by storing an externally mutable object into HeadwayDistance.distance MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuReal

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuReal.getSpeedLimitInfo() may expose internal representation by returning HeadwayGtuReal.speedLimitInfo MALICIOUS_CODE EI_EXPOSE_REP 129 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuReal(LaneBasedGtu, Length, Length, Length, boolean) may expose internal representation by storing an externally mutable object into HeadwayGtuReal.gtu MALICIOUS_CODE EI_EXPOSE_REP2 82 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuReal(LaneBasedGtu, Length, boolean) may expose internal representation by storing an externally mutable object into HeadwayGtuReal.gtu MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuRealCopy

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuRealCopy.getParameters() may expose internal representation by returning HeadwayGtuRealCopy.parameters MALICIOUS_CODE EI_EXPOSE_REP 166 Medium
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuRealCopy.getSpeedLimitInfo() may expose internal representation by returning HeadwayGtuRealCopy.speedLimitInfo MALICIOUS_CODE EI_EXPOSE_REP 173 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuType

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuType(String, GtuType, GtuTypeAssumptions, Length, Length, Length, Length, Length, Speed) may expose internal representation by storing an externally mutable object into HeadwayGtuType.gtuTypeAssumptions MALICIOUS_CODE EI_EXPOSE_REP2 128 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuType(String, GtuType, GtuTypeAssumptions, Length, Length, Length, Length, Length, Speed, Acceleration, Speed) may expose internal representation by storing an externally mutable object into HeadwayGtuType.gtuTypeAssumptions MALICIOUS_CODE EI_EXPOSE_REP2 107 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuType(String, GtuType, GtuTypeAssumptions, Length, Length, Length, Speed) may expose internal representation by storing an externally mutable object into HeadwayGtuType.gtuTypeAssumptions MALICIOUS_CODE EI_EXPOSE_REP2 83 Medium
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGtuType(String, GtuType, GtuTypeAssumptions, Length, Length, Length, Speed, Acceleration, Speed, GtuStatus[]) may expose internal representation by storing an externally mutable object into HeadwayGtuType.gtuTypeAssumptions MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium

org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayTrafficLight

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayTrafficLight(TrafficLight, Length, boolean) may expose internal representation by storing an externally mutable object into HeadwayTrafficLight.trafficLight MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.ExponentialTask

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.mental.ExponentialTask(String, double, double, Duration, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into ExponentialTask.tau MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.Fuller

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.mental.Fuller at new org.opentrafficsim.road.gtu.lane.perception.mental.Fuller(Set, Set) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 114 Medium
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.mental.Fuller at new org.opentrafficsim.road.gtu.lane.perception.mental.Fuller(Set, Set, TaskManager) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 126 Medium
new org.opentrafficsim.road.gtu.lane.perception.mental.Fuller(Set, Set, TaskManager) may expose internal representation by storing an externally mutable object into Fuller.behavioralAdapatations MALICIOUS_CODE EI_EXPOSE_REP2 130 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.TaskLaneChanging

Bug Category Details Line Priority
Redundant nullcheck of h1, which is known to be non-null in org.opentrafficsim.road.gtu.lane.perception.mental.TaskLaneChanging.getHeadway(LanePerception, LaneBasedGtu, Parameters) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 77 High

org.opentrafficsim.road.gtu.lane.perception.mental.TaskRoadSideDistraction

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.mental.TaskRoadSideDistraction.calculateTaskDemand(LanePerception, LaneBasedGtu, Parameters) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 62 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DefaultDistraction

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DefaultDistraction.getAverageDuration() may expose internal representation by returning DefaultDistraction.averageDuration MALICIOUS_CODE EI_EXPOSE_REP 174 Medium
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DefaultDistraction.getFrequency() may expose internal representation by returning DefaultDistraction.frequency MALICIOUS_CODE EI_EXPOSE_REP 156 Medium
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DefaultDistraction.getStdDuration() may expose internal representation by returning DefaultDistraction.stdDuration MALICIOUS_CODE EI_EXPOSE_REP 183 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.sdm.Distraction

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.mental.sdm.Distraction at new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.Distraction(String, String, Frequency, double, Duration, Duration, StreamInterface, TaskSupplier) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 63 Medium
new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.Distraction(String, String, Frequency, double, Duration, Duration, StreamInterface, TaskSupplier) may expose internal representation by storing an externally mutable object into Distraction.frequency MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium
new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.Distraction(String, String, Frequency, double, Duration, Duration, StreamInterface, TaskSupplier) may expose internal representation by storing an externally mutable object into Distraction.stream MALICIOUS_CODE EI_EXPOSE_REP2 73 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DistractionFactory

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DistractionFactory.build() may expose internal representation by returning DistractionFactory.list MALICIOUS_CODE EI_EXPOSE_REP 109 Medium
new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.DistractionFactory(StreamInterface) may expose internal representation by storing an externally mutable object into DistractionFactory.stream MALICIOUS_CODE EI_EXPOSE_REP2 36 Medium

org.opentrafficsim.road.gtu.lane.perception.mental.sdm.StochasticDistractionModel

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.perception.mental.sdm.StochasticDistractionModel at new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.StochasticDistractionModel(boolean, List, OtsSimulatorInterface, RoadNetwork) 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
new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.StochasticDistractionModel(boolean, List, OtsSimulatorInterface, RoadNetwork) may expose internal representation by storing an externally mutable object into StochasticDistractionModel.distractions MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium
new org.opentrafficsim.road.gtu.lane.perception.mental.sdm.StochasticDistractionModel(boolean, List, OtsSimulatorInterface, RoadNetwork) may expose internal representation by storing an externally mutable object into StochasticDistractionModel.network MALICIOUS_CODE EI_EXPOSE_REP2 74 Medium

org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord.getLane() may expose internal representation by returning LaneRecord.lane MALICIOUS_CODE EI_EXPOSE_REP 66 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord.getMergeDistance() may expose internal representation by returning LaneRecord.mergeDistance MALICIOUS_CODE EI_EXPOSE_REP 110 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord.getNext() may expose internal representation by returning LaneRecord.next MALICIOUS_CODE EI_EXPOSE_REP 126 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord.getPrev() may expose internal representation by returning LaneRecord.prev MALICIOUS_CODE EI_EXPOSE_REP 142 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord.getStartDistance() may expose internal representation by returning LaneRecord.startDistance MALICIOUS_CODE EI_EXPOSE_REP 85 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord.lateral() may expose internal representation by returning LaneRecord.lateral MALICIOUS_CODE EI_EXPOSE_REP 160 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord(Lane, RelativeLane, Length, Length) may expose internal representation by storing an externally mutable object into LaneRecord.lane MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord(Lane, RelativeLane, Length, Length) may expose internal representation by storing an externally mutable object into LaneRecord.mergeDistance MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneRecord(Lane, RelativeLane, Length, Length) may expose internal representation by storing an externally mutable object into LaneRecord.startDistance MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium

org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure(LaneBasedGtu, Length, Length) may expose internal representation by storing an externally mutable object into LaneStructure.downstream MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure(LaneBasedGtu, Length, Length) may expose internal representation by storing an externally mutable object into LaneStructure.gtu MALICIOUS_CODE EI_EXPOSE_REP2 70 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure(LaneBasedGtu, Length, Length) may expose internal representation by storing an externally mutable object into LaneStructure.upstream MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium

org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$Entry

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$Entry.distance() may expose internal representation by returning LaneStructure$Entry.distance MALICIOUS_CODE EI_EXPOSE_REP 968 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$Entry.merge() may expose internal representation by returning LaneStructure$Entry.merge MALICIOUS_CODE EI_EXPOSE_REP 968 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$Entry(Length, Length, Object) may expose internal representation by storing an externally mutable object into LaneStructure$Entry.distance MALICIOUS_CODE EI_EXPOSE_REP2 968 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$Entry(Length, Length, Object) may expose internal representation by storing an externally mutable object into LaneStructure$Entry.merge MALICIOUS_CODE EI_EXPOSE_REP2 968 Medium

org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$ObjectIterator

Bug Category Details Line Priority
Should org.opentrafficsim.road.gtu.lane.perception.structure.LaneStructure$ObjectIterator be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 879-949 Medium

org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord.getLane() may expose internal representation by returning SimpleLaneRecord.lane MALICIOUS_CODE EI_EXPOSE_REP 105 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord.getNext() may expose internal representation by returning SimpleLaneRecord.next MALICIOUS_CODE EI_EXPOSE_REP 68 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord.getPrev() may expose internal representation by returning SimpleLaneRecord.prev MALICIOUS_CODE EI_EXPOSE_REP 84 Medium
org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord.getStartDistance() may expose internal representation by returning SimpleLaneRecord.startDistance MALICIOUS_CODE EI_EXPOSE_REP 91 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord(Lane, Length, GtuType) may expose internal representation by storing an externally mutable object into SimpleLaneRecord.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 51 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord(Lane, Length, GtuType) may expose internal representation by storing an externally mutable object into SimpleLaneRecord.lane MALICIOUS_CODE EI_EXPOSE_REP2 49 Medium
new org.opentrafficsim.road.gtu.lane.perception.structure.SimpleLaneRecord(Lane, Length, GtuType) may expose internal representation by storing an externally mutable object into SimpleLaneRecord.startDistance MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium

org.opentrafficsim.road.gtu.lane.plan.operational.LaneBasedOperationalPlan

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.plan.operational.LaneBasedOperationalPlan doesn't override org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange.getMinimumLaneChangeDistance() may expose internal representation by returning LaneChange.minimumLaneChangeDistance MALICIOUS_CODE EI_EXPOSE_REP 104 Medium
new org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange(Length, Duration) may expose internal representation by storing an externally mutable object into LaneChange.desiredLaneChangeDuration MALICIOUS_CODE EI_EXPOSE_REP2 95 Medium
new org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange(Length, Duration) may expose internal representation by storing an externally mutable object into LaneChange.minimumLaneChangeDistance MALICIOUS_CODE EI_EXPOSE_REP2 94 Medium
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange.setBoundary(Length) may expose internal representation by storing an externally mutable object into LaneChange.boundary MALICIOUS_CODE EI_EXPOSE_REP2 124 Medium
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange.setDesiredLaneChangeDuration(Duration) may expose internal representation by storing an externally mutable object into LaneChange.desiredLaneChangeDuration MALICIOUS_CODE EI_EXPOSE_REP2 113 Medium
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange.MIN_LC_LENGTH_FACTOR isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 76 High
Class org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange defines non-transient non-serializable instance field laneChangePath BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange$LaneChangePath$SequentialLaneChangePath

Bug Category Details Line Priority
Dead store to cumulLcLength in org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange$LaneChangePath$SequentialLaneChangePath.getPathRecursive(Length, Speed, double, double, LanePosition, OrientedPoint2d, OtsLine2d, OtsLine2d, Duration, double, double) STYLE DLS_DEAD_LOCAL_STORE 691 Medium
Dead store to f in org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange$LaneChangePath$SequentialLaneChangePath.getPathRecursive(Length, Speed, double, double, LanePosition, OrientedPoint2d, OtsLine2d, OtsLine2d, Duration, double, double) STYLE DLS_DEAD_LOCAL_STORE 687 Medium

org.opentrafficsim.road.gtu.lane.plan.operational.LaneOperationalPlanBuilder

Bug Category Details Line Priority
Null passed for non-null parameter of org.opentrafficsim.road.gtu.lane.LaneBasedGtu.getNextLaneForRoute(Lane) in org.opentrafficsim.road.gtu.lane.plan.operational.LaneOperationalPlanBuilder.createPathAlongCenterLine(LaneBasedGtu, Length) CORRECTNESS NP_NULL_PARAM_DEREF 143 High
Null passed for non-null parameter of LaneChange.getPath(Duration, LaneBasedGtu, LanePosition, OrientedPoint2d, Length, LateralDirectionality) in org.opentrafficsim.road.gtu.lane.plan.operational.LaneOperationalPlanBuilder.buildAccelerationLaneChangePlan(LaneBasedGtu, LateralDirectionality, OrientedPoint2d, Time, Speed, Acceleration, Duration, LaneChange) CORRECTNESS NP_NULL_PARAM_DEREF 265 Medium
org.opentrafficsim.road.gtu.lane.plan.operational.LaneOperationalPlanBuilder.buildAccelerationLaneChangePlan(LaneBasedGtu, LateralDirectionality, OrientedPoint2d, Time, Speed, Acceleration, Duration, LaneChange) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 257 Medium

org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan at new org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan(Acceleration, Duration) 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.road.gtu.lane.plan.operational.SimpleOperationalPlan at new org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan(Acceleration, Duration, LateralDirectionality) 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.road.gtu.lane.plan.operational.SimpleOperationalPlan.getAcceleration() may expose internal representation by returning SimpleOperationalPlan.acceleration MALICIOUS_CODE EI_EXPOSE_REP 79 Medium
org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan.getDuration() may expose internal representation by returning SimpleOperationalPlan.duration MALICIOUS_CODE EI_EXPOSE_REP 97 Medium
new org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan(Acceleration, Duration, LateralDirectionality) may expose internal representation by storing an externally mutable object into SimpleOperationalPlan.duration MALICIOUS_CODE EI_EXPOSE_REP2 70 Medium
org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan.setAcceleration(Acceleration) may expose internal representation by storing an externally mutable object into SimpleOperationalPlan.acceleration MALICIOUS_CODE EI_EXPOSE_REP2 89 Medium

org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner.getGtu() may expose internal representation by returning AbstractLaneBasedTacticalPlanner.gtu MALICIOUS_CODE EI_EXPOSE_REP 92 Medium
new org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner(CarFollowingModel, LaneBasedGtu, LanePerception) may expose internal representation by storing an externally mutable object into AbstractLaneBasedTacticalPlanner.gtu MALICIOUS_CODE EI_EXPOSE_REP2 84 Medium

org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlanner

Bug Category Details Line Priority
Dead store to currentLaneFine in org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlanner.generateOperationalPlan(Time, OrientedPoint2d) STYLE DLS_DEAD_LOCAL_STORE 150 Medium
Dead store to nextSplitNode in org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlanner.suitability(Lane, Length, LaneBasedGtu, Duration) STYLE DLS_DEAD_LOCAL_STORE 450 Medium

org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlannerFactory

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCfLcTacticalPlannerFactory(GtuFollowingModelOld, LaneChangeModel) may expose internal representation by storing an externally mutable object into LaneBasedCfLcTacticalPlannerFactory.carFollowingModel MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

org.opentrafficsim.road.gtu.lane.tactical.LaneBasedGtuFollowingTacticalPlannerFactory

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.lane.tactical.LaneBasedGtuFollowingTacticalPlannerFactory(GtuFollowingModelOld) may expose internal representation by storing an externally mutable object into LaneBasedGtuFollowingTacticalPlannerFactory.carFollowingModel MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

org.opentrafficsim.road.gtu.lane.tactical.LanePathInfo

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.LanePathInfo.laneList() may expose internal representation by returning LanePathInfo.laneList MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
org.opentrafficsim.road.gtu.lane.tactical.LanePathInfo.referencePosition() may expose internal representation by returning LanePathInfo.referencePosition MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
new org.opentrafficsim.road.gtu.lane.tactical.LanePathInfo(OtsLine2d, List, Length) may expose internal representation by storing an externally mutable object into LanePathInfo.laneList MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium
new org.opentrafficsim.road.gtu.lane.tactical.LanePathInfo(OtsLine2d, List, Length) may expose internal representation by storing an externally mutable object into LanePathInfo.referencePosition MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium

org.opentrafficsim.road.gtu.lane.tactical.NextSplitInfo

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.NextSplitInfo.correctCurrentLanes() may expose internal representation by returning NextSplitInfo.correctCurrentLanes MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
org.opentrafficsim.road.gtu.lane.tactical.NextSplitInfo.nextSplitNode() may expose internal representation by returning NextSplitInfo.nextSplitNode MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.opentrafficsim.road.gtu.lane.tactical.NextSplitInfo(Node, Set, LateralDirectionality) may expose internal representation by storing an externally mutable object into NextSplitInfo.correctCurrentLanes MALICIOUS_CODE EI_EXPOSE_REP2 26 Medium
new org.opentrafficsim.road.gtu.lane.tactical.NextSplitInfo(Node, Set, LateralDirectionality) may expose internal representation by storing an externally mutable object into NextSplitInfo.nextSplitNode MALICIOUS_CODE EI_EXPOSE_REP2 26 Medium

org.opentrafficsim.road.gtu.lane.tactical.following.AbstractGtuFollowingModelMobil

Bug Category Details Line Priority
Dead store to maximumSIDeceleration in org.opentrafficsim.road.gtu.lane.tactical.following.AbstractGtuFollowingModelMobil.minimumHeadway(Speed, Speed, Length, Length, Speed, Speed) STYLE DLS_DEAD_LOCAL_STORE 234 Medium
Return value of org.opentrafficsim.road.gtu.lane.LaneBasedGtu.getTacticalPlanner() ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 75 Medium

org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep.getAcceleration() may expose internal representation by returning AccelerationStep.acceleration MALICIOUS_CODE EI_EXPOSE_REP 51 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep.getDuration() may expose internal representation by returning AccelerationStep.duration MALICIOUS_CODE EI_EXPOSE_REP 67 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep.getValidUntil() may expose internal representation by returning AccelerationStep.validUntil MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep(Acceleration, Time, Duration) may expose internal representation by storing an externally mutable object into AccelerationStep.acceleration MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep(Acceleration, Time, Duration) may expose internal representation by storing an externally mutable object into AccelerationStep.duration MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.AccelerationStep(Acceleration, Time, Duration) may expose internal representation by storing an externally mutable object into AccelerationStep.validUntil MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel.computeAcceleration(Speed, Speed, Speed, Length, Speed) may expose internal representation by returning FixedAccelerationModel.acceleration MALICIOUS_CODE EI_EXPOSE_REP 80 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel.computeAcceleration(Speed, Speed, Speed, Length, Speed, Duration) may expose internal representation by returning FixedAccelerationModel.acceleration MALICIOUS_CODE EI_EXPOSE_REP 72 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel.getAcceleration() may expose internal representation by returning FixedAccelerationModel.acceleration MALICIOUS_CODE EI_EXPOSE_REP 64 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel.getDuration() may expose internal representation by returning FixedAccelerationModel.duration MALICIOUS_CODE EI_EXPOSE_REP 55 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel.getStepSize() may expose internal representation by returning FixedAccelerationModel.duration MALICIOUS_CODE EI_EXPOSE_REP 95 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel(Acceleration, Duration) may expose internal representation by storing an externally mutable object into FixedAccelerationModel.acceleration MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.FixedAccelerationModel(Acceleration, Duration) may expose internal representation by storing an externally mutable object into FixedAccelerationModel.duration MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium

org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld.getMaximumSafeDeceleration() may expose internal representation by returning IdmOld.b MALICIOUS_CODE EI_EXPOSE_REP 150 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld.getStepSize() may expose internal representation by returning IdmOld.DEFAULT_STEP_SIZE MALICIOUS_CODE EI_EXPOSE_REP 143 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmOld.a MALICIOUS_CODE EI_EXPOSE_REP2 80 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmOld.b MALICIOUS_CODE EI_EXPOSE_REP2 81 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmOld.s0 MALICIOUS_CODE EI_EXPOSE_REP2 82 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmOld.tSafe MALICIOUS_CODE EI_EXPOSE_REP2 83 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld.setA(Acceleration) may expose internal representation by storing an externally mutable object into IdmOld.a MALICIOUS_CODE EI_EXPOSE_REP2 172 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.IdmOld.setT(Duration) may expose internal representation by storing an externally mutable object into IdmOld.tSafe MALICIOUS_CODE EI_EXPOSE_REP2 179 Medium

org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld.getMaximumSafeDeceleration() may expose internal representation by returning IdmPlusOld.b MALICIOUS_CODE EI_EXPOSE_REP 167 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld.getStepSize() may expose internal representation by returning IdmPlusOld.DEFAULT_STEP_SIZE MALICIOUS_CODE EI_EXPOSE_REP 160 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmPlusOld.a MALICIOUS_CODE EI_EXPOSE_REP2 86 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmPlusOld.b MALICIOUS_CODE EI_EXPOSE_REP2 87 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmPlusOld.s0 MALICIOUS_CODE EI_EXPOSE_REP2 88 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld(Acceleration, Acceleration, Length, Duration, double) may expose internal representation by storing an externally mutable object into IdmPlusOld.tSafe MALICIOUS_CODE EI_EXPOSE_REP2 89 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld.setA(Acceleration) may expose internal representation by storing an externally mutable object into IdmPlusOld.a MALICIOUS_CODE EI_EXPOSE_REP2 189 Medium
org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlusOld.setT(Duration) may expose internal representation by storing an externally mutable object into IdmPlusOld.tSafe MALICIOUS_CODE EI_EXPOSE_REP2 196 Medium

org.opentrafficsim.road.gtu.lane.tactical.following.SequentialFixedAccelerationModel

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.following.SequentialFixedAccelerationModel.getMaximumSafeDeceleration() may expose internal representation by returning SequentialFixedAccelerationModel.maximumSafeDeceleration MALICIOUS_CODE EI_EXPOSE_REP 161 Medium
new org.opentrafficsim.road.gtu.lane.tactical.following.SequentialFixedAccelerationModel(OtsSimulatorInterface, Acceleration) may expose internal representation by storing an externally mutable object into SequentialFixedAccelerationModel.maximumSafeDeceleration MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium

org.opentrafficsim.road.gtu.lane.tactical.lanechangemobil.AbstractLaneChangeModel

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.lanechangemobil.AbstractLaneChangeModel.computeLaneChangeAndAcceleration(LaneBasedGtu, Collection, Collection, Collection, Speed, Acceleration, Acceleration, Acceleration) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 65 Medium

org.opentrafficsim.road.gtu.lane.tactical.lmrs.Lmrs

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.tactical.lmrs.Lmrs at new org.opentrafficsim.road.gtu.lane.tactical.lmrs.Lmrs(CarFollowingModel, LaneBasedGtu, LanePerception, Synchronization, Cooperation, GapAcceptance, Tailgating) 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
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.Lmrs defines non-transient non-serializable instance field lmrsData BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory

Bug Category Details Line Priority
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field accelerationIncentives BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field cooperation BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field gapAcceptance BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field mandatoryIncentives BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field synchronization BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field tailgating BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory defines non-transient non-serializable instance field voluntaryIncentives BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.road.gtu.lane.tactical.lmrs.LmrsFactory is Serializable but its superclass doesn't define an accessible void constructor BAD_PRACTICE SE_NO_SUITABLE_CONSTRUCTOR 38-151 High

org.opentrafficsim.road.gtu.lane.tactical.lmrs.SocioDesiredSpeed

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.lmrs.SocioDesiredSpeed.init(LaneBasedGtu) may expose internal representation by storing an externally mutable object into SocioDesiredSpeed.gtu MALICIOUS_CODE EI_EXPOSE_REP2 88 Medium

org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule doesn't override org.opentrafficsim.core.network.route.Route.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium
Class org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule defines non-transient non-serializable instance field schedule BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule$BusStopInfo

Bug Category Details Line Priority
Should org.opentrafficsim.road.gtu.lane.tactical.pt.BusSchedule$BusStopInfo be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 219-253 Medium

org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo at new org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo(CarFollowingModel, LaneBasedGtu) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 89 Medium

org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapAcceptanceInfo

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapAcceptanceInfo is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 912-937 Medium
Should org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapAcceptanceInfo be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 912-937 Medium

org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapInfo

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapInfo is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 835-878 Medium
Should org.opentrafficsim.road.gtu.lane.tactical.toledo.Toledo$GapInfo be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 835-878 Medium

org.opentrafficsim.road.gtu.lane.tactical.toledo.ToledoPerception

Bug Category Details Line Priority
Read of unwritten field infrastructureLaneChangeInfo in org.opentrafficsim.road.gtu.lane.tactical.toledo.ToledoPerception.getTimeStampedInfrastructureLaneChangeInfo(RelativeLane) CORRECTNESS NP_UNWRITTEN_FIELD 120 Medium

org.opentrafficsim.road.gtu.lane.tactical.util.AnticipationInfo

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.util.AnticipationInfo.duration() may expose internal representation by returning AnticipationInfo.duration MALICIOUS_CODE EI_EXPOSE_REP 28 Medium
org.opentrafficsim.road.gtu.lane.tactical.util.AnticipationInfo.endSpeed() may expose internal representation by returning AnticipationInfo.endSpeed MALICIOUS_CODE EI_EXPOSE_REP 28 Medium
new org.opentrafficsim.road.gtu.lane.tactical.util.AnticipationInfo(Duration, Speed) may expose internal representation by storing an externally mutable object into AnticipationInfo.duration MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium
new org.opentrafficsim.road.gtu.lane.tactical.util.AnticipationInfo(Duration, Speed) may expose internal representation by storing an externally mutable object into AnticipationInfo.endSpeed MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium

org.opentrafficsim.road.gtu.lane.tactical.util.CarFollowingUtil$CarFollowingHeadway

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.util.CarFollowingUtil$CarFollowingHeadway.getSpeed() may expose internal representation by returning CarFollowingUtil$CarFollowingHeadway.speed MALICIOUS_CODE EI_EXPOSE_REP 270 Medium
new org.opentrafficsim.road.gtu.lane.tactical.util.CarFollowingUtil$CarFollowingHeadway(Length, Speed) may expose internal representation by storing an externally mutable object into CarFollowingUtil$CarFollowingHeadway.speed MALICIOUS_CODE EI_EXPOSE_REP2 249 Medium

org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil

Bug Category Details Line Priority
Useless object stored in variable leaders of method org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil.followConflictingLeaderOnMergeOrSplit(HeadwayConflict, Parameters, CarFollowingModel, Speed, SpeedLimitInfo, Length) STYLE UC_USELESS_OBJECT 404 Medium

org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil$ConflictPlans

Bug Category Details Line Priority
org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil$ConflictPlans.getIndicatorObjectDistance() may expose internal representation by returning ConflictUtil$ConflictPlans.indicatorObjectDistance MALICIOUS_CODE EI_EXPOSE_REP 1122 Medium
org.opentrafficsim.road.gtu.lane.tactical.util.ConflictUtil$ConflictPlans.setIndicatorIntent(TurnIndicatorIntent, Length) may expose internal representation by storing an externally mutable object into ConflictUtil$ConflictPlans.indicatorObjectDistance MALICIOUS_CODE EI_EXPOSE_REP2 1134 Medium

org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner at new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner(LaneBasedTacticalPlanner, Route, LaneBasedGtu, Node, Node, RouteGenerator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 92 Medium
Exception thrown in class org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner at new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner(LaneBasedTacticalPlanner, LaneBasedGtu) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 69 Medium
org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner.getDestination() may expose internal representation by returning LaneBasedStrategicalRoutePlanner.destination MALICIOUS_CODE EI_EXPOSE_REP 301 Medium
org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner.getGtu() may expose internal representation by returning LaneBasedStrategicalRoutePlanner.gtu MALICIOUS_CODE EI_EXPOSE_REP 101 Medium
org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner.getOrigin() may expose internal representation by returning LaneBasedStrategicalRoutePlanner.origin MALICIOUS_CODE EI_EXPOSE_REP 294 Medium
new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner(LaneBasedTacticalPlanner, Route, LaneBasedGtu, Node, Node, RouteGenerator) may expose internal representation by storing an externally mutable object into LaneBasedStrategicalRoutePlanner.destination MALICIOUS_CODE EI_EXPOSE_REP2 90 Medium
new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner(LaneBasedTacticalPlanner, Route, LaneBasedGtu, Node, Node, RouteGenerator) may expose internal representation by storing an externally mutable object into LaneBasedStrategicalRoutePlanner.gtu MALICIOUS_CODE EI_EXPOSE_REP2 87 Medium
new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner(LaneBasedTacticalPlanner, Route, LaneBasedGtu, Node, Node, RouteGenerator) may expose internal representation by storing an externally mutable object into LaneBasedStrategicalRoutePlanner.origin MALICIOUS_CODE EI_EXPOSE_REP2 89 Medium
Nullcheck of previousLink at line 132 of value previously dereferenced in org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner.nextLink(Link, GtuType) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 124 High
Class org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlanner defines non-transient non-serializable instance field routeGenerator BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlannerFactory

Bug Category Details Line Priority
new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlannerFactory(LaneBasedTacticalPlannerFactory, ParameterFactory) may expose internal representation by storing an externally mutable object into LaneBasedStrategicalRoutePlannerFactory.parameterFactory MALICIOUS_CODE EI_EXPOSE_REP2 73 Medium
new org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlannerFactory(LaneBasedTacticalPlannerFactory, ParameterFactory, RouteGenerator) may expose internal representation by storing an externally mutable object into LaneBasedStrategicalRoutePlannerFactory.parameterFactory MALICIOUS_CODE EI_EXPOSE_REP2 88 Medium
Class org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlannerFactory defines non-transient non-serializable instance field parameterFactory BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.gtu.strategical.LaneBasedStrategicalRoutePlannerFactory defines non-transient non-serializable instance field routeGenerator BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.core.parameters.ParameterFactoryDefault stored into non-transient field LaneBasedStrategicalRoutePlannerFactory.parameterFactory BAD_PRACTICE SE_BAD_FIELD_STORE 58 High

org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator at new org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator(StreamInterface, LinkWeight) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 85 Medium
org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator.getRoute(Node, Node, GtuType) uses the same code for two branches STYLE DB_DUPLICATE_BRANCHES 136 Medium
new org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator(StreamInterface, LinkWeight) may expose internal representation by storing an externally mutable object into RouteGenerator$DefaultRouteGenerator.stream MALICIOUS_CODE EI_EXPOSE_REP2 87 Medium
Useless object stored in variable testViaNode of method org.opentrafficsim.road.gtu.strategical.RouteGenerator$DefaultRouteGenerator.getRoute(Node, Node, GtuType) STYLE UC_USELESS_OBJECT 104 Medium

org.opentrafficsim.road.network.LaneChangeInfo

Bug Category Details Line Priority
org.opentrafficsim.road.network.LaneChangeInfo.remainingDistance() may expose internal representation by returning LaneChangeInfo.remainingDistance MALICIOUS_CODE EI_EXPOSE_REP 21 Medium
new org.opentrafficsim.road.network.LaneChangeInfo(int, Length, boolean, LateralDirectionality) may expose internal representation by storing an externally mutable object into LaneChangeInfo.remainingDistance MALICIOUS_CODE EI_EXPOSE_REP2 32 Medium

org.opentrafficsim.road.network.RoadNetwork

Bug Category Details Line Priority
Class org.opentrafficsim.road.network.RoadNetwork defines non-transient non-serializable instance field legalLaneChangeInfoCache BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.network.RoadNetwork defines non-transient non-serializable instance field physicalLaneChangeInfoCache BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.network.RoadNetwork$RouteWeightedGraph

Bug Category Details Line Priority
Possible null pointer dereference of lane in org.opentrafficsim.road.network.RoadNetwork$RouteWeightedGraph.getNoRouteDestinationNode(GtuType) CORRECTNESS NP_NULL_ON_SOME_PATH 492 Medium
Should org.opentrafficsim.road.network.RoadNetwork$RouteWeightedGraph be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 408-508 Medium

org.opentrafficsim.road.network.control.rampmetering.AlineaSwitch

Bug Category Details Line Priority
org.opentrafficsim.road.network.control.rampmetering.AlineaSwitch.getCycleTime() may expose internal representation by returning AlineaSwitch.cycleTime MALICIOUS_CODE EI_EXPOSE_REP 74 Medium

org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController at new org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController(OtsSimulatorInterface, List, DetectorType) 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
new org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController(OtsSimulatorInterface, List, DetectorType) may expose internal representation by storing an externally mutable object into CycleTimeLightController.trafficLights MALICIOUS_CODE EI_EXPOSE_REP2 69 Medium
org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController.enable(Duration) may expose internal representation by storing an externally mutable object into CycleTimeLightController.cTime MALICIOUS_CODE EI_EXPOSE_REP2 111 Medium
org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController.disable() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 93 Medium
org.opentrafficsim.road.network.control.rampmetering.CycleTimeLightController.disable() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 86 Medium

org.opentrafficsim.road.network.control.rampmetering.RampMetering

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.control.rampmetering.RampMetering at new org.opentrafficsim.road.network.control.rampmetering.RampMetering(OtsSimulatorInterface, RampMeteringSwitch, RampMeteringLightController) 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.road.network.control.rampmetering.RwsSwitch

Bug Category Details Line Priority
org.opentrafficsim.road.network.control.rampmetering.RwsSwitch.getCycleTime() may expose internal representation by returning RwsSwitch.cycleTime MALICIOUS_CODE EI_EXPOSE_REP 85 Medium

org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch at new org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch(Duration, List) 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
org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch.getInterval() may expose internal representation by returning SingleCrossSectionSwitch.interval MALICIOUS_CODE EI_EXPOSE_REP 48 Medium
new org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch(Duration, List) may expose internal representation by storing an externally mutable object into SingleCrossSectionSwitch.detectors MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
new org.opentrafficsim.road.network.control.rampmetering.SingleCrossSectionSwitch(Duration, List) may expose internal representation by storing an externally mutable object into SingleCrossSectionSwitch.interval MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

org.opentrafficsim.road.network.factory.LaneFactory

Bug Category Details Line Priority
org.opentrafficsim.road.network.factory.LaneFactory.getLanes() may expose internal representation by returning LaneFactory.lanes MALICIOUS_CODE EI_EXPOSE_REP 383 Medium
new org.opentrafficsim.road.network.factory.LaneFactory(RoadNetwork, Node, Node, LinkType, OtsSimulatorInterface, LaneKeepingPolicy, GtuType, ContinuousLine) may expose internal representation by storing an externally mutable object into LaneFactory.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 130 Medium
org.opentrafficsim.road.network.factory.LaneFactory.leftToRight(double, Length, LaneType, Speed) may expose internal representation by storing an externally mutable object into LaneFactory.laneType0 MALICIOUS_CODE EI_EXPOSE_REP2 179 Medium
org.opentrafficsim.road.network.factory.LaneFactory.leftToRight(double, Length, LaneType, Speed) may expose internal representation by storing an externally mutable object into LaneFactory.speedLimit0 MALICIOUS_CODE EI_EXPOSE_REP2 180 Medium
org.opentrafficsim.road.network.factory.LaneFactory.rightToLeft(double, Length, LaneType, Speed) may expose internal representation by storing an externally mutable object into LaneFactory.laneType0 MALICIOUS_CODE EI_EXPOSE_REP2 205 Medium
org.opentrafficsim.road.network.factory.LaneFactory.rightToLeft(double, Length, LaneType, Speed) may expose internal representation by storing an externally mutable object into LaneFactory.laneWidth0 MALICIOUS_CODE EI_EXPOSE_REP2 204 Medium
org.opentrafficsim.road.network.factory.LaneFactory.rightToLeft(double, Length, LaneType, Speed) may expose internal representation by storing an externally mutable object into LaneFactory.speedLimit0 MALICIOUS_CODE EI_EXPOSE_REP2 206 Medium
org.opentrafficsim.road.network.factory.LaneFactory.setOffsetEnd(Length) may expose internal representation by storing an externally mutable object into LaneFactory.offsetEnd MALICIOUS_CODE EI_EXPOSE_REP2 236 Medium
org.opentrafficsim.road.network.factory.LaneFactory.setOffsetStart(Length) may expose internal representation by storing an externally mutable object into LaneFactory.offsetStart MALICIOUS_CODE EI_EXPOSE_REP2 225 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 145 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 149 Medium

org.opentrafficsim.road.network.lane.CrossSectionElement

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.CrossSectionElement at new org.opentrafficsim.road.network.lane.CrossSectionElement(CrossSectionLink, String, OtsLine2d, Polygon2d, List) 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.road.network.lane.CrossSectionElement.getLink() may expose internal representation by returning CrossSectionElement.link MALICIOUS_CODE EI_EXPOSE_REP 99 Medium
new org.opentrafficsim.road.network.lane.CrossSectionElement(CrossSectionLink, String, OtsLine2d, Polygon2d, List) may expose internal representation by storing an externally mutable object into CrossSectionElement.link MALICIOUS_CODE EI_EXPOSE_REP2 78 Medium

org.opentrafficsim.road.network.lane.CrossSectionLink

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.CrossSectionLink doesn't override org.opentrafficsim.core.network.Link.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

org.opentrafficsim.road.network.lane.CrossSectionSlice

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.CrossSectionSlice.getOffset() may expose internal representation by returning CrossSectionSlice.offset MALICIOUS_CODE EI_EXPOSE_REP 58 Medium
org.opentrafficsim.road.network.lane.CrossSectionSlice.getRelativeLength() may expose internal representation by returning CrossSectionSlice.relativeLength MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
org.opentrafficsim.road.network.lane.CrossSectionSlice.getWidth() may expose internal representation by returning CrossSectionSlice.width MALICIOUS_CODE EI_EXPOSE_REP 67 Medium
new org.opentrafficsim.road.network.lane.CrossSectionSlice(Length, Length, Length) may expose internal representation by storing an externally mutable object into CrossSectionSlice.offset MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium
new org.opentrafficsim.road.network.lane.CrossSectionSlice(Length, Length, Length) may expose internal representation by storing an externally mutable object into CrossSectionSlice.relativeLength MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium
new org.opentrafficsim.road.network.lane.CrossSectionSlice(Length, Length, Length) may expose internal representation by storing an externally mutable object into CrossSectionSlice.width MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

org.opentrafficsim.road.network.lane.Lane

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.Lane.getGtuList(Time) may expose internal representation by returning Lane.gtuListAtTime MALICIOUS_CODE EI_EXPOSE_REP 1339 Medium
org.opentrafficsim.road.network.lane.Lane.getType() may expose internal representation by returning Lane.laneType MALICIOUS_CODE EI_EXPOSE_REP 1317 Medium
new org.opentrafficsim.road.network.lane.Lane(CrossSectionLink, String, OtsLine2d, Polygon2d, List, LaneType, Map) may expose internal representation by storing an externally mutable object into Lane.laneType MALICIOUS_CODE EI_EXPOSE_REP2 206 Medium
org.opentrafficsim.road.network.lane.Lane.getGtuList(Time) may expose internal representation by storing an externally mutable object into Lane.gtuListTime MALICIOUS_CODE EI_EXPOSE_REP2 1341 Medium
Class org.opentrafficsim.road.network.lane.Lane defines non-transient non-serializable instance field leftNeighbours BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.road.network.lane.Lane defines non-transient non-serializable instance field rightNeighbours BAD_PRACTICE SE_BAD_FIELD Not available High
org.opentrafficsim.road.network.lane.Lane.getHighestSpeedLimit() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 1274 Medium
org.opentrafficsim.road.network.lane.Lane.getLaneBasedObjectMap() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 677 Medium
org.opentrafficsim.road.network.lane.Lane.getLowestSpeedLimit() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 1258 Medium
org.opentrafficsim.road.network.lane.Lane.getObjectAhead(Length) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 988 Medium
org.opentrafficsim.road.network.lane.Lane.scheduleDetectorTriggers(LaneBasedGtu, double, double) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 526 Medium

org.opentrafficsim.road.network.lane.LanePosition

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.LanePosition.lane() may expose internal representation by returning LanePosition.lane MALICIOUS_CODE EI_EXPOSE_REP 21 Medium
org.opentrafficsim.road.network.lane.LanePosition.position() may expose internal representation by returning LanePosition.position MALICIOUS_CODE EI_EXPOSE_REP 21 Medium
new org.opentrafficsim.road.network.lane.LanePosition(Lane, Length) may expose internal representation by storing an externally mutable object into LanePosition.lane MALICIOUS_CODE EI_EXPOSE_REP2 21 Medium
new org.opentrafficsim.road.network.lane.LanePosition(Lane, Length) may expose internal representation by storing an externally mutable object into LanePosition.position MALICIOUS_CODE EI_EXPOSE_REP2 21 Medium

org.opentrafficsim.road.network.lane.RoadMarkerAcross

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.RoadMarkerAcross.getCrossSectionElement() may expose internal representation by returning RoadMarkerAcross.crossSectionElement MALICIOUS_CODE EI_EXPOSE_REP 42 Medium
org.opentrafficsim.road.network.lane.RoadMarkerAcross.getLongitudinalPosition() may expose internal representation by returning RoadMarkerAcross.longitudinalPosition MALICIOUS_CODE EI_EXPOSE_REP 50 Medium
new org.opentrafficsim.road.network.lane.RoadMarkerAcross(CrossSectionElement, Length) may expose internal representation by storing an externally mutable object into RoadMarkerAcross.crossSectionElement MALICIOUS_CODE EI_EXPOSE_REP2 33 Medium
new org.opentrafficsim.road.network.lane.RoadMarkerAcross(CrossSectionElement, Length) may expose internal representation by storing an externally mutable object into RoadMarkerAcross.longitudinalPosition MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium

org.opentrafficsim.road.network.lane.SliceInfo

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.SliceInfo(List, Length) may expose internal representation by storing an externally mutable object into SliceInfo.crossSectionSlices MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium
new org.opentrafficsim.road.network.lane.SliceInfo(List, Length) may expose internal representation by storing an externally mutable object into SliceInfo.length MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium

org.opentrafficsim.road.network.lane.Stripe

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.Stripe at new org.opentrafficsim.road.network.lane.Stripe(Stripe$Type, CrossSectionLink, OtsLine2d, Polygon2d, List) 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.road.network.lane.Stripe$Type

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.Stripe$Type.defaultWidth() may expose internal representation by returning Stripe$Type.defaultWidth MALICIOUS_CODE EI_EXPOSE_REP 220 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftAlwaysRightSpeed

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftAlwaysRightSpeed(Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftAlwaysRightSpeed.rightOvertakingSpeedMax MALICIOUS_CODE EI_EXPOSE_REP2 192 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSet

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSet(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSet.overtakenGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 313 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSet(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSet.overtakingGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 312 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightJam

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightJam(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSetRightJam.overtakenGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 459 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightJam(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSetRightJam.overtakingGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 458 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightSpeed

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightSpeed(Collection, Collection, Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSetRightSpeed.overtakenGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 411 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightSpeed(Collection, Collection, Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSetRightSpeed.overtakingGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 410 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$LeftSetRightSpeed(Collection, Collection, Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$LeftSetRightSpeed.rightOvertakingSpeedMax MALICIOUS_CODE EI_EXPOSE_REP2 412 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightAlwaysLeftSpeed

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightAlwaysLeftSpeed(Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightAlwaysLeftSpeed.leftOvertakingSpeedMax MALICIOUS_CODE EI_EXPOSE_REP2 245 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSet

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSet(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSet.overtakenGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 359 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSet(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSet.overtakingGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 358 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftJam

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftJam(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSetLeftJam.overtakenGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 559 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftJam(Collection, Collection) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSetLeftJam.overtakingGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 558 Medium

org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftSpeed

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftSpeed(Collection, Collection, Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSetLeftSpeed.leftOvertakingSpeedMax MALICIOUS_CODE EI_EXPOSE_REP2 512 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftSpeed(Collection, Collection, Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSetLeftSpeed.overtakenGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 511 Medium
new org.opentrafficsim.road.network.lane.changing.OvertakingConditions$RightSetLeftSpeed(Collection, Collection, Speed) may expose internal representation by storing an externally mutable object into OvertakingConditions$RightSetLeftSpeed.overtakingGtuTypes MALICIOUS_CODE EI_EXPOSE_REP2 510 Medium

org.opentrafficsim.road.network.lane.conflict.BusStopConflictRule

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.conflict.BusStopConflictRule(OtsSimulatorInterface, GtuType) may expose internal representation by storing an externally mutable object into BusStopConflictRule.busType MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.opentrafficsim.road.network.lane.conflict.Conflict

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.conflict.Conflict.getLength() may expose internal representation by returning Conflict.length MALICIOUS_CODE EI_EXPOSE_REP 373 Medium
org.opentrafficsim.road.network.lane.conflict.Conflict.getOtherConflict() may expose internal representation by returning Conflict.otherConflict MALICIOUS_CODE EI_EXPOSE_REP 381 Medium
org.opentrafficsim.road.network.lane.conflict.Conflict.getTrafficLightDistance(Length) may expose internal representation by returning Conflict.trafficLightDistance MALICIOUS_CODE EI_EXPOSE_REP 427 Medium
org.opentrafficsim.road.network.lane.conflict.Conflict.getTrafficLightDistance(Length) may expose internal representation by storing an externally mutable object into Conflict.maxMaxTrafficLightDistance MALICIOUS_CODE EI_EXPOSE_REP2 404 Medium
org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtuType stored into non-transient field Conflict.conflictGtuType BAD_PRACTICE SE_BAD_FIELD_STORE 120 Medium
org.opentrafficsim.road.network.lane.conflict.Conflict$2 stored into non-transient field Conflict.downstreamGtus BAD_PRACTICE SE_BAD_FIELD_STORE 291 Medium
org.opentrafficsim.road.network.lane.conflict.Conflict$1 stored into non-transient field Conflict.upstreamGtus BAD_PRACTICE SE_BAD_FIELD_STORE 241 Medium

org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictEnd

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictEnd.getConflict() may expose internal representation by returning Conflict$ConflictEnd.conflict MALICIOUS_CODE EI_EXPOSE_REP 528 Medium
Should org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictEnd be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 509-535 Medium

org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtu

Bug Category Details Line Priority
Should org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtu be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 574-589 Medium

org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtuIterable

Bug Category Details Line Priority
Should org.opentrafficsim.road.network.lane.conflict.Conflict$ConflictGtuIterable be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 737-831 Medium

org.opentrafficsim.road.network.lane.conflict.ConflictBuilder

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.conflict.ConflictBuilder.buildConflictsParallel(RoadNetwork, Map, OtsSimulatorInterface, ConflictBuilder$WidthGenerator) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 1261 Medium

org.opentrafficsim.road.network.lane.conflict.DefaultConflictRule

Bug Category Details Line Priority
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 126 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 130 Medium

org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject at new org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject(String, Lane, Length, PolyLine2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 85 Medium
Exception thrown in class org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject at new org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject(String, Lane, Length, PolyLine2d, Length) 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
org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject.getLane() may expose internal representation by returning AbstractLaneBasedObject.lane MALICIOUS_CODE EI_EXPOSE_REP 112 Medium
org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject.getLongitudinalPosition() may expose internal representation by returning AbstractLaneBasedObject.longitudinalPosition MALICIOUS_CODE EI_EXPOSE_REP 119 Medium

org.opentrafficsim.road.network.lane.object.BusStop

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.BusStop at new org.opentrafficsim.road.network.lane.object.BusStop(String, Lane, Length, String, OtsSimulatorInterface, GtuType) 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.road.network.lane.object.BusStop.getConflicts() may expose internal representation by returning BusStop.conflicts MALICIOUS_CODE EI_EXPOSE_REP 135 Medium
new org.opentrafficsim.road.network.lane.object.BusStop(String, Lane, Length, String, OtsSimulatorInterface, GtuType) may expose internal representation by storing an externally mutable object into BusStop.busType MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium

org.opentrafficsim.road.network.lane.object.Distraction

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.Distraction at new org.opentrafficsim.road.network.lane.object.Distraction(String, Lane, Length, OtsSimulatorInterface, Distraction$DistractionProfile) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 43 Medium
Class org.opentrafficsim.road.network.lane.object.Distraction defines non-transient non-serializable instance field profile BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile at new org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile(double, Length, 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 111 Medium
new org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile(double, Length, Length, Length) may expose internal representation by storing an externally mutable object into Distraction$TrapezoidProfile.dMax MALICIOUS_CODE EI_EXPOSE_REP2 118 Medium
new org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile(double, Length, Length, Length) may expose internal representation by storing an externally mutable object into Distraction$TrapezoidProfile.dMed MALICIOUS_CODE EI_EXPOSE_REP2 117 Medium
new org.opentrafficsim.road.network.lane.object.Distraction$TrapezoidProfile(double, Length, Length, Length) may expose internal representation by storing an externally mutable object into Distraction$TrapezoidProfile.dMin MALICIOUS_CODE EI_EXPOSE_REP2 116 Medium

org.opentrafficsim.road.network.lane.object.SpeedSign

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.SpeedSign at new org.opentrafficsim.road.network.lane.object.SpeedSign(String, Lane, Length, OtsSimulatorInterface, Speed, GtuType, 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 62 Medium
org.opentrafficsim.road.network.lane.object.SpeedSign.getSpeed() may expose internal representation by returning SpeedSign.speed MALICIOUS_CODE EI_EXPOSE_REP 82 Medium
new org.opentrafficsim.road.network.lane.object.SpeedSign(String, Lane, Length, OtsSimulatorInterface, Speed, GtuType, Duration, Duration) may expose internal representation by storing an externally mutable object into SpeedSign.endTimeOfDay MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium
new org.opentrafficsim.road.network.lane.object.SpeedSign(String, Lane, Length, OtsSimulatorInterface, Speed, GtuType, Duration, Duration) may expose internal representation by storing an externally mutable object into SpeedSign.gtuType MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium
new org.opentrafficsim.road.network.lane.object.SpeedSign(String, Lane, Length, OtsSimulatorInterface, Speed, GtuType, Duration, Duration) may expose internal representation by storing an externally mutable object into SpeedSign.speed MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium
new org.opentrafficsim.road.network.lane.object.SpeedSign(String, Lane, Length, OtsSimulatorInterface, Speed, GtuType, Duration, Duration) may expose internal representation by storing an externally mutable object into SpeedSign.startTimeOfDay MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium

org.opentrafficsim.road.network.lane.object.detector.LaneDetector

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.object.detector.LaneDetector.compareTo(LaneDetector) incorrectly handles double value BAD_PRACTICE CO_COMPARETO_INCORRECT_FLOATING 244 Medium
Exception thrown in class org.opentrafficsim.road.network.lane.object.detector.LaneDetector at new org.opentrafficsim.road.network.lane.object.detector.LaneDetector(String, Lane, Length, RelativePosition$Type, OtsSimulatorInterface, PolyLine2d, Length, DetectorType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 81 Medium
Exception thrown in class org.opentrafficsim.road.network.lane.object.detector.LaneDetector at new org.opentrafficsim.road.network.lane.object.detector.LaneDetector(String, Lane, Length, RelativePosition$Type, OtsSimulatorInterface, PolyLine2d, DetectorType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 111 Medium
org.opentrafficsim.road.network.lane.object.detector.LaneDetector.getType() may expose internal representation by returning LaneDetector.detectorType MALICIOUS_CODE EI_EXPOSE_REP 140 Medium
new org.opentrafficsim.road.network.lane.object.detector.LaneDetector(String, Lane, Length, RelativePosition$Type, OtsSimulatorInterface, PolyLine2d, Length, DetectorType) may expose internal representation by storing an externally mutable object into LaneDetector.detectorType MALICIOUS_CODE EI_EXPOSE_REP2 87 Medium

org.opentrafficsim.road.network.lane.object.detector.LoopDetector

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.detector.LoopDetector at new org.opentrafficsim.road.network.lane.object.detector.LoopDetector(String, Lane, Length, Length, DetectorType, OtsSimulatorInterface, Time, Duration, LoopDetector$LoopDetectorMeasurement[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 398 Medium
Exception thrown in class org.opentrafficsim.road.network.lane.object.detector.LoopDetector at new org.opentrafficsim.road.network.lane.object.detector.LoopDetector(String, Lane, Length, DetectorType, OtsSimulatorInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 376 Medium
org.opentrafficsim.road.network.lane.object.detector.LoopDetector.getLength() may expose internal representation by returning LoopDetector.length MALICIOUS_CODE EI_EXPOSE_REP 457 Medium
new org.opentrafficsim.road.network.lane.object.detector.LoopDetector(String, Lane, Length, Length, DetectorType, OtsSimulatorInterface, Time, Duration, LoopDetector$LoopDetectorMeasurement[]) may expose internal representation by storing an externally mutable object into LoopDetector.aggregation MALICIOUS_CODE EI_EXPOSE_REP2 401 Medium
new org.opentrafficsim.road.network.lane.object.detector.LoopDetector(String, Lane, Length, Length, DetectorType, OtsSimulatorInterface, Time, Duration, LoopDetector$LoopDetectorMeasurement[]) may expose internal representation by storing an externally mutable object into LoopDetector.firstAggregation MALICIOUS_CODE EI_EXPOSE_REP2 402 Medium
new org.opentrafficsim.road.network.lane.object.detector.LoopDetector(String, Lane, Length, Length, DetectorType, OtsSimulatorInterface, Time, Duration, LoopDetector$LoopDetectorMeasurement[]) may expose internal representation by storing an externally mutable object into LoopDetector.length MALICIOUS_CODE EI_EXPOSE_REP2 399 Medium
Class org.opentrafficsim.road.network.lane.object.detector.LoopDetector defines non-transient non-serializable instance field currentCumulativeDataMap BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.road.network.lane.object.detector.LoopDetector defines non-transient non-serializable instance field periodicDataMap BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.opentrafficsim.road.network.lane.object.detector.LoopDetector.aggregate() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 516 Medium

org.opentrafficsim.road.network.lane.object.detector.LoopDetector$PlatoonSizes

Bug Category Details Line Priority
new org.opentrafficsim.road.network.lane.object.detector.LoopDetector$PlatoonSizes(Duration) may expose internal representation by storing an externally mutable object into LoopDetector$PlatoonSizes.threshold MALICIOUS_CODE EI_EXPOSE_REP2 1002 Medium

org.opentrafficsim.road.network.lane.object.detector.SinkDetector

Bug Category Details Line Priority
Class org.opentrafficsim.road.network.lane.object.detector.SinkDetector defines non-transient non-serializable instance field predicate BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector at new org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector(String, Lane, Length, Lane, Length, List, RelativePosition$Type, RelativePosition$Type, OtsSimulatorInterface, DetectorType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 122 Medium
org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector.getType() may expose internal representation by returning TrafficLightDetector.type MALICIOUS_CODE EI_EXPOSE_REP 454 Medium
new org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector(String, Lane, Length, Lane, Length, List, RelativePosition$Type, RelativePosition$Type, OtsSimulatorInterface, DetectorType) may expose internal representation by storing an externally mutable object into TrafficLightDetector.type MALICIOUS_CODE EI_EXPOSE_REP2 125 Medium

org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector$StartEndDetector

Bug Category Details Line Priority
org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector$StartEndDetector.getParent() may expose internal representation by returning TrafficLightDetector$StartEndDetector.this$0 MALICIOUS_CODE EI_EXPOSE_REP 517 Medium
new org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector$StartEndDetector(TrafficLightDetector, String, Lane, Length, RelativePosition$Type, OtsSimulatorInterface, DetectorType) may expose internal representation by storing an externally mutable object into TrafficLightDetector$StartEndDetector.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 493 Medium

org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight at new org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight(String, Lane, Length, OtsSimulatorInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 90 Medium
Exception thrown in class org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight at new org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight(String, Lane, Length, OtsSimulatorInterface, Length) 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.road.network.sampling.GtuDataRoad

Bug Category Details Line Priority
org.opentrafficsim.road.network.sampling.GtuDataRoad.getGtu() may expose internal representation by returning GtuDataRoad.gtu MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
new org.opentrafficsim.road.network.sampling.GtuDataRoad(LaneBasedGtu) may expose internal representation by storing an externally mutable object into GtuDataRoad.gtu MALICIOUS_CODE EI_EXPOSE_REP2 30 Medium

org.opentrafficsim.road.network.sampling.LaneDataRoad

Bug Category Details Line Priority
org.opentrafficsim.road.network.sampling.LaneDataRoad.getLane() may expose internal representation by returning LaneDataRoad.lane MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
new org.opentrafficsim.road.network.sampling.LaneDataRoad(Lane) may expose internal representation by storing an externally mutable object into LaneDataRoad.lane MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium

org.opentrafficsim.road.network.sampling.LinkDataRoad

Bug Category Details Line Priority
org.opentrafficsim.road.network.sampling.LinkDataRoad.getLink() may expose internal representation by returning LinkDataRoad.link MALICIOUS_CODE EI_EXPOSE_REP 40 Medium
new org.opentrafficsim.road.network.sampling.LinkDataRoad(CrossSectionLink) may expose internal representation by storing an externally mutable object into LinkDataRoad.link MALICIOUS_CODE EI_EXPOSE_REP2 32 Medium

org.opentrafficsim.road.network.sampling.RoadSampler

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.sampling.RoadSampler at new org.opentrafficsim.road.network.sampling.RoadSampler(Set, Set, RoadNetwork) 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.road.network.sampling.RoadSampler at new org.opentrafficsim.road.network.sampling.RoadSampler(Set, Set, RoadNetwork, Frequency) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 123 Medium
Exception thrown in class org.opentrafficsim.road.network.sampling.RoadSampler at new org.opentrafficsim.road.network.sampling.RoadSampler(RoadNetwork) 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
Exception thrown in class org.opentrafficsim.road.network.sampling.RoadSampler at new org.opentrafficsim.road.network.sampling.RoadSampler(RoadNetwork, Frequency) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 106 Medium
new org.opentrafficsim.road.network.sampling.RoadSampler(Set, Set, RoadNetwork) may expose internal representation by storing an externally mutable object into RoadSampler.network MALICIOUS_CODE EI_EXPOSE_REP2 92 Medium
new org.opentrafficsim.road.network.sampling.RoadSampler(Set, Set, RoadNetwork, Frequency) may expose internal representation by storing an externally mutable object into RoadSampler.network MALICIOUS_CODE EI_EXPOSE_REP2 127 Medium

org.opentrafficsim.road.network.sampling.RoadSampler$Factory

Bug Category Details Line Priority
org.opentrafficsim.road.network.sampling.RoadSampler$Factory.setFrequency(Frequency) may expose internal representation by storing an externally mutable object into RoadSampler$Factory.freq MALICIOUS_CODE EI_EXPOSE_REP2 520 Medium

org.opentrafficsim.road.network.sampling.data.WorldDirData

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive org.opentrafficsim.road.network.sampling.data.WorldDirData.parseValue(String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 50 High

org.opentrafficsim.road.network.speed.SpeedInfoCurvature

Bug Category Details Line Priority
org.opentrafficsim.road.network.speed.SpeedInfoCurvature.radius() may expose internal representation by returning SpeedInfoCurvature.radius MALICIOUS_CODE EI_EXPOSE_REP 21 Medium
new org.opentrafficsim.road.network.speed.SpeedInfoCurvature(Length) may expose internal representation by storing an externally mutable object into SpeedInfoCurvature.radius MALICIOUS_CODE EI_EXPOSE_REP2 32 Medium

org.opentrafficsim.road.network.speed.SpeedLimitInfo

Bug Category Details Line Priority
org.opentrafficsim.road.network.speed.SpeedLimitInfo.toString() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 128 Medium

org.opentrafficsim.road.network.speed.SpeedLimitProspect

Bug Category Details Line Priority
org.opentrafficsim.road.network.speed.SpeedLimitProspect.getOdometer() may expose internal representation by returning SpeedLimitProspect.odometer MALICIOUS_CODE EI_EXPOSE_REP 93 Medium
new org.opentrafficsim.road.network.speed.SpeedLimitProspect(Length) may expose internal representation by storing an externally mutable object into SpeedLimitProspect.odometer MALICIOUS_CODE EI_EXPOSE_REP2 51 Medium

org.opentrafficsim.road.network.speed.SpeedLimitType

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.network.speed.SpeedLimitType at new org.opentrafficsim.road.network.speed.SpeedLimitType(String, Class) 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

org.opentrafficsim.road.od.Categorization

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.od.Categorization at new org.opentrafficsim.road.od.Categorization(String) 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
Exception thrown in class org.opentrafficsim.road.od.Categorization at new org.opentrafficsim.road.od.Categorization(String, Class, Class[]) 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.road.od.Category

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.od.Category at new org.opentrafficsim.road.od.Category(Categorization) 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.road.od.Category at new org.opentrafficsim.road.od.Category(Categorization, Object, Object[]) 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

org.opentrafficsim.road.od.OdApplier

Bug Category Details Line Priority
org.opentrafficsim.road.od.OdApplier.createGenerators(RoadNetwork, OdOptions, OtsSimulatorInterface, boolean, StreamInterface, Map, Map, Map, Map) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 386 Medium
org.opentrafficsim.road.od.OdApplier.gatherPositionsLaneBased(Map, Map) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 290 Medium

org.opentrafficsim.road.od.OdApplier$GeneratorObjects

Bug Category Details Line Priority
org.opentrafficsim.road.od.OdApplier$GeneratorObjects.generator() may expose internal representation by returning OdApplier$GeneratorObjects.generator MALICIOUS_CODE EI_EXPOSE_REP 928 Medium
new org.opentrafficsim.road.od.OdApplier$GeneratorObjects(LaneBasedGtuGenerator, Generator, LaneBasedGtuCharacteristicsGenerator) may expose internal representation by storing an externally mutable object into OdApplier$GeneratorObjects.generator MALICIOUS_CODE EI_EXPOSE_REP2 928 Medium

org.opentrafficsim.road.od.OdMatrix

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.road.od.OdMatrix at new org.opentrafficsim.road.od.OdMatrix(String, List, List, Categorization, TimeVector, Interpolation) 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
org.opentrafficsim.road.od.OdMatrix.getGlobalTimeVector() may expose internal representation by returning OdMatrix.globalTimeVector MALICIOUS_CODE EI_EXPOSE_REP 173 Medium
new org.opentrafficsim.road.od.OdMatrix(String, List, List, Categorization, TimeVector, Interpolation) may expose internal representation by storing an externally mutable object into OdMatrix.globalTimeVector MALICIOUS_CODE EI_EXPOSE_REP2 105 Medium
Class org.opentrafficsim.road.od.OdMatrix defines non-transient non-serializable instance field demandData BAD_PRACTICE SE_BAD_FIELD Not available High
org.opentrafficsim.road.od.OdMatrix.print() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 848 Medium

org.opentrafficsim.road.od.OdOptions$OptionSet

Bug Category Details Line Priority
Should org.opentrafficsim.road.od.OdOptions$OptionSet be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 278-320 Medium

org.opentrafficsim.road.od.SplitFraction

Bug Category Details Line Priority
new org.opentrafficsim.road.od.SplitFraction(Node, Interpolation, StreamInterface, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into SplitFraction.node MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium
new org.opentrafficsim.road.od.SplitFraction(Node, Interpolation, StreamInterface, OtsSimulatorInterface) may expose internal representation by storing an externally mutable object into SplitFraction.random MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
org.opentrafficsim.road.od.SplitFraction.draw(GtuType) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 142 Medium