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