SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.8.6
Threshold is medium
Effort is default
Summary
| Classes | Bugs | Errors | Missing Classes | 
|---|---|---|---|
| 264 | 187 | 0 | 0 | 
Files
org.opentrafficsim.core.compatibility.GtuCompatibility
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.compatibility.GtuCompatibility at new org.opentrafficsim.core.compatibility.GtuCompatibility(HierarchicalType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 41 | Medium | 
org.opentrafficsim.core.compatibility.GtuCompatibleInfraType
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.compatibility.GtuCompatibleInfraType.getGtuCompatibility() may expose internal representation by returning GtuCompatibleInfraType.gtuCompatibility | MALICIOUS_CODE | EI_EXPOSE_REP | 110 | Medium | 
org.opentrafficsim.core.distributions.Distribution
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.distributions.Distribution at new org.opentrafficsim.core.distributions.Distribution(List, StreamInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 44 | Medium | 
| Exception thrown in class org.opentrafficsim.core.distributions.Distribution at new org.opentrafficsim.core.distributions.Distribution(StreamInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 59 | Medium | 
| Class org.opentrafficsim.core.distributions.Distribution defines non-transient non-serializable instance field generators | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
org.opentrafficsim.core.dsol.AbstractOtsModel
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.dsol.AbstractOtsModel at new org.opentrafficsim.core.dsol.AbstractOtsModel(OtsSimulatorInterface, String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 51 | Medium | 
| Exception thrown in class org.opentrafficsim.core.dsol.AbstractOtsModel at new org.opentrafficsim.core.dsol.AbstractOtsModel(OtsSimulatorInterface, String, String, StreamInformation) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 65 | Medium | 
org.opentrafficsim.core.dsol.OtsDevsRealTimeParallelMove
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Class org.opentrafficsim.core.dsol.OtsDevsRealTimeParallelMove defines non-transient non-serializable instance field executor | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium | 
org.opentrafficsim.core.dsol.OtsLoggingAnimator
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Class org.opentrafficsim.core.dsol.OtsLoggingAnimator defines non-transient non-serializable instance field animationThread | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium | 
org.opentrafficsim.core.dsol.OtsReplication
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.dsol.OtsReplication at new org.opentrafficsim.core.dsol.OtsReplication(String, Time, Duration, Duration, HistoryManager) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 40 | Medium | 
| org.opentrafficsim.core.dsol.OtsReplication.getStartTimeAbs() may expose internal representation by returning OtsReplication.startTimeAbs | MALICIOUS_CODE | EI_EXPOSE_REP | 61 | Medium | 
| new org.opentrafficsim.core.dsol.OtsReplication(String, Time, Duration, Duration, HistoryManager) may expose internal representation by storing an externally mutable object into OtsReplication.startTimeAbs | MALICIOUS_CODE | EI_EXPOSE_REP2 | 41 | Medium | 
org.opentrafficsim.core.geometry.ContinuousArc
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousArc at new org.opentrafficsim.core.geometry.ContinuousArc(OrientedPoint2d, double, boolean, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 44 | Medium | 
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousArc at new org.opentrafficsim.core.geometry.ContinuousArc(OrientedPoint2d, double, boolean, Angle) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 57 | Medium | 
| new org.opentrafficsim.core.geometry.ContinuousArc(OrientedPoint2d, double, boolean, Angle) may expose internal representation by storing an externally mutable object into ContinuousArc.angle | MALICIOUS_CODE | EI_EXPOSE_REP2 | 63 | Medium | 
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 132 | Medium | 
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 136 | Medium | 
org.opentrafficsim.core.geometry.ContinuousBezier
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousBezier at new org.opentrafficsim.core.geometry.ContinuousBezier(Point2d[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 61 | Medium | 
org.opentrafficsim.core.geometry.ContinuousClothoid
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousClothoid at new org.opentrafficsim.core.geometry.ContinuousClothoid(OrientedPoint2d, double, double, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 270 | Medium | 
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousClothoid at new org.opentrafficsim.core.geometry.ContinuousClothoid(OrientedPoint2d, OrientedPoint2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 127 | Medium | 
org.opentrafficsim.core.geometry.ContinuousPolyLine
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousPolyLine at new org.opentrafficsim.core.geometry.ContinuousPolyLine(PolyLine2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 40 | Medium | 
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousPolyLine at new org.opentrafficsim.core.geometry.ContinuousPolyLine(PolyLine2d, OrientedPoint2d, OrientedPoint2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 57 | Medium | 
org.opentrafficsim.core.geometry.ContinuousStraight
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.ContinuousStraight at new org.opentrafficsim.core.geometry.ContinuousStraight(OrientedPoint2d, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 36 | Medium | 
org.opentrafficsim.core.geometry.Flattener$MaxAngle
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.Flattener$MaxAngle at new org.opentrafficsim.core.geometry.Flattener$MaxAngle(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 288 | Medium | 
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 315 | Medium | 
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 319 | Medium | 
org.opentrafficsim.core.geometry.Flattener$MaxDeviation
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.Flattener$MaxDeviation at new org.opentrafficsim.core.geometry.Flattener$MaxDeviation(double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 96 | Medium | 
org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle at new org.opentrafficsim.core.geometry.Flattener$MaxDeviationAndAngle(double, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 180 | Medium | 
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 221 | Medium | 
| Using floating-point loop counters can lead to unexpected behavior. | CORRECTNESS | FL_FLOATS_AS_LOOP_COUNTERS | 225 | Medium | 
org.opentrafficsim.core.geometry.Flattener$NumSegments
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.Flattener$NumSegments at new org.opentrafficsim.core.geometry.Flattener$NumSegments(int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 57 | Medium | 
org.opentrafficsim.core.geometry.FractionalLengthData
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.FractionalLengthData at new org.opentrafficsim.core.geometry.FractionalLengthData(Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 55 | Medium | 
| Exception thrown in class org.opentrafficsim.core.geometry.FractionalLengthData at new org.opentrafficsim.core.geometry.FractionalLengthData(double[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 37 | Medium | 
| Possible null pointer dereference of data in new org.opentrafficsim.core.geometry.FractionalLengthData(Map) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 56 | Medium | 
org.opentrafficsim.core.geometry.Ots2dSet
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.geometry.Ots2dSet at new org.opentrafficsim.core.geometry.Ots2dSet(Bounds2d, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 60 | Medium | 
| Possible null pointer dereference of boundingBox in new org.opentrafficsim.core.geometry.Ots2dSet(Bounds2d, double) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 61 | High | 
org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeIterator
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeIterator is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 263-303 | Medium | 
org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeNode
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.geometry.Ots2dSet$QuadTreeNode is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 317-734 | Medium | 
org.opentrafficsim.core.gtu.Gtu
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.gtu.Gtu at new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 202 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getAcceleration(Time) may expose internal representation by returning Gtu.cachedAcceleration | MALICIOUS_CODE | EI_EXPOSE_REP | 725 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getLength() may expose internal representation by returning Gtu.length | MALICIOUS_CODE | EI_EXPOSE_REP | 314 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getMaximumAcceleration() may expose internal representation by returning Gtu.maximumAcceleration | MALICIOUS_CODE | EI_EXPOSE_REP | 734 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getMaximumDeceleration() may expose internal representation by returning Gtu.maximumDeceleration | MALICIOUS_CODE | EI_EXPOSE_REP | 754 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getMaximumSpeed() may expose internal representation by returning Gtu.maximumSpeed | MALICIOUS_CODE | EI_EXPOSE_REP | 326 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getParameters() may expose internal representation by returning Gtu.parameters | MALICIOUS_CODE | EI_EXPOSE_REP | 522 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getParent() may expose internal representation by returning Gtu.parent | MALICIOUS_CODE | EI_EXPOSE_REP | 941 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getPerceivableContext() may expose internal representation by returning Gtu.perceivableContext | MALICIOUS_CODE | EI_EXPOSE_REP | 893 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getSpeed(Time) may expose internal representation by returning Gtu.cachedSpeed | MALICIOUS_CODE | EI_EXPOSE_REP | 670 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.getWidth() may expose internal representation by returning Gtu.width | MALICIOUS_CODE | EI_EXPOSE_REP | 320 | Medium | 
| new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.length | MALICIOUS_CODE | EI_EXPOSE_REP2 | 209 | Medium | 
| new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.maximumSpeed | MALICIOUS_CODE | EI_EXPOSE_REP2 | 215 | Medium | 
| new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.perceivableContext | MALICIOUS_CODE | EI_EXPOSE_REP2 | 223 | Medium | 
| new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) may expose internal representation by storing an externally mutable object into Gtu.width | MALICIOUS_CODE | EI_EXPOSE_REP2 | 210 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.setMaximumAcceleration(Acceleration) may expose internal representation by storing an externally mutable object into Gtu.maximumAcceleration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 746 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.setMaximumDeceleration(Acceleration) may expose internal representation by storing an externally mutable object into Gtu.maximumDeceleration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 768 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.setParameters(Parameters) may expose internal representation by storing an externally mutable object into Gtu.parameters | MALICIOUS_CODE | EI_EXPOSE_REP2 | 528 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.setParent(Gtu) may expose internal representation by storing an externally mutable object into Gtu.parent | MALICIOUS_CODE | EI_EXPOSE_REP2 | 932 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.ALIGN_COUNT should be package protected | MALICIOUS_CODE | MS_PKGPROTECT | 129 | Medium | 
| org.opentrafficsim.core.gtu.Gtu.ALIGNED isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 125 | High | 
| org.opentrafficsim.core.gtu.Gtu.DESTROY_EVENT isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 1030 | High | 
| org.opentrafficsim.core.gtu.Gtu.MOVE_EVENT isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 1017 | High | 
| Primitive field org.opentrafficsim.core.gtu.Gtu.ALIGN_COUNT is public and set from inside the class, which makes it too exposed. Consider making it private to limit external accessibility. | BAD_PRACTICE | PA_PUBLIC_PRIMITIVE_ATTRIBUTE | 129 | Medium | 
| Exception is caught when Exception is not thrown in org.opentrafficsim.core.gtu.Gtu.move(OrientedPoint2d) | STYLE | REC_CATCH_EXCEPTION | 444 | Medium | 
| Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field odometer | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field operationalPlan | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field shape | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field strategicalPlanner | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field tacticalPlanner | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| Class org.opentrafficsim.core.gtu.Gtu defines non-transient non-serializable instance field errorHandler | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium | 
| org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.odometer | BAD_PRACTICE | SE_BAD_FIELD_STORE | 222 | High | 
| org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.operationalPlan | BAD_PRACTICE | SE_BAD_FIELD_STORE | 227 | High | 
| org.opentrafficsim.base.geometry.OffsetRectangleShape stored into non-transient field Gtu.shape | BAD_PRACTICE | SE_BAD_FIELD_STORE | 239 | High | 
| org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.strategicalPlanner | BAD_PRACTICE | SE_BAD_FIELD_STORE | 225 | High | 
| org.opentrafficsim.core.perception.HistoricalValue stored into non-transient field Gtu.tacticalPlanner | BAD_PRACTICE | SE_BAD_FIELD_STORE | 226 | High | 
| Write to static field org.opentrafficsim.core.gtu.Gtu.staticUNIQUENUMBER from instance method new org.opentrafficsim.core.gtu.Gtu(String, GtuType, OtsSimulatorInterface, PerceivableContext, Length, Length, Speed, Length, Length) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 219 | Medium | 
org.opentrafficsim.core.gtu.GtuCharacteristics
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.gtu.GtuCharacteristics.getFront() may expose internal representation by returning GtuCharacteristics.front | MALICIOUS_CODE | EI_EXPOSE_REP | 127 | Medium | 
| org.opentrafficsim.core.gtu.GtuCharacteristics.getLength() may expose internal representation by returning GtuCharacteristics.length | MALICIOUS_CODE | EI_EXPOSE_REP | 82 | Medium | 
| org.opentrafficsim.core.gtu.GtuCharacteristics.getMaximumAcceleration() may expose internal representation by returning GtuCharacteristics.maximumAcceleration | MALICIOUS_CODE | EI_EXPOSE_REP | 109 | Medium | 
| org.opentrafficsim.core.gtu.GtuCharacteristics.getMaximumDeceleration() may expose internal representation by returning GtuCharacteristics.maximumDeceleration | MALICIOUS_CODE | EI_EXPOSE_REP | 118 | Medium | 
| org.opentrafficsim.core.gtu.GtuCharacteristics.getMaximumSpeed() may expose internal representation by returning GtuCharacteristics.maximumSpeed | MALICIOUS_CODE | EI_EXPOSE_REP | 100 | Medium | 
| org.opentrafficsim.core.gtu.GtuCharacteristics.getWidth() may expose internal representation by returning GtuCharacteristics.width | MALICIOUS_CODE | EI_EXPOSE_REP | 91 | Medium | 
| new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.front | MALICIOUS_CODE | EI_EXPOSE_REP2 | 64 | Medium | 
| new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.length | MALICIOUS_CODE | EI_EXPOSE_REP2 | 59 | Medium | 
| new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.maximumAcceleration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 62 | Medium | 
| new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.maximumDeceleration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 63 | Medium | 
| new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.maximumSpeed | MALICIOUS_CODE | EI_EXPOSE_REP2 | 61 | Medium | 
| new org.opentrafficsim.core.gtu.GtuCharacteristics(GtuType, Length, Length, Speed, Acceleration, Acceleration, Length) may expose internal representation by storing an externally mutable object into GtuCharacteristics.width | MALICIOUS_CODE | EI_EXPOSE_REP2 | 60 | Medium | 
org.opentrafficsim.core.gtu.GtuDumper
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.gtu.GtuDumper at new org.opentrafficsim.core.gtu.GtuDumper(Time, Duration, Network, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 76 | Medium | 
| Found reliance on default encoding in org.opentrafficsim.core.gtu.GtuDumper.dump(): new java.io.PrintWriter(File) | I18N | DM_DEFAULT_ENCODING | 36 | High | 
| new org.opentrafficsim.core.gtu.GtuDumper(Time, Duration, Network, String) may expose internal representation by storing an externally mutable object into GtuDumper.interval | MALICIOUS_CODE | EI_EXPOSE_REP2 | 84 | Medium | 
| new org.opentrafficsim.core.gtu.GtuDumper(Time, Duration, Network, String) may expose internal representation by storing an externally mutable object into GtuDumper.network | MALICIOUS_CODE | EI_EXPOSE_REP2 | 85 | Medium | 
| Format string should use %n rather than \n in org.opentrafficsim.core.gtu.GtuDumper.dump() | BAD_PRACTICE | VA_FORMAT_STRING_USES_NEWLINE | 40 | Medium | 
org.opentrafficsim.core.gtu.GtuTemplate
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.gtu.GtuTemplate at new org.opentrafficsim.core.gtu.GtuTemplate(GtuType, Generator, Generator, Generator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 54 | Medium | 
| Exception thrown in class org.opentrafficsim.core.gtu.GtuTemplate at new org.opentrafficsim.core.gtu.GtuTemplate(GtuType, Generator, Generator, Generator, Generator, Generator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 72 | Medium | 
org.opentrafficsim.core.gtu.RelativePosition
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.gtu.RelativePosition.dx() may expose internal representation by returning RelativePosition.dx | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium | 
| org.opentrafficsim.core.gtu.RelativePosition.dy() may expose internal representation by returning RelativePosition.dy | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium | 
| org.opentrafficsim.core.gtu.RelativePosition.dz() may expose internal representation by returning RelativePosition.dz | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium | 
| new org.opentrafficsim.core.gtu.RelativePosition(Length, Length, Length, RelativePosition$Type) may expose internal representation by storing an externally mutable object into RelativePosition.dx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 23 | Medium | 
| new org.opentrafficsim.core.gtu.RelativePosition(Length, Length, Length, RelativePosition$Type) may expose internal representation by storing an externally mutable object into RelativePosition.dy | MALICIOUS_CODE | EI_EXPOSE_REP2 | 23 | Medium | 
| new org.opentrafficsim.core.gtu.RelativePosition(Length, Length, Length, RelativePosition$Type) may expose internal representation by storing an externally mutable object into RelativePosition.dz | MALICIOUS_CODE | EI_EXPOSE_REP2 | 23 | Medium | 
org.opentrafficsim.core.gtu.perception.AbstractPerception
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.gtu.perception.AbstractPerception.getGtu() may expose internal representation by returning AbstractPerception.gtu | MALICIOUS_CODE | EI_EXPOSE_REP | 50 | Medium | 
| new org.opentrafficsim.core.gtu.perception.AbstractPerception(Gtu) may expose internal representation by storing an externally mutable object into AbstractPerception.gtu | MALICIOUS_CODE | EI_EXPOSE_REP2 | 43 | Medium | 
| org.opentrafficsim.core.gtu.perception.AbstractPerception.contains(Class) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 74 | Medium | 
| org.opentrafficsim.core.gtu.perception.AbstractPerception.getPerceptionCategoryOrNull(Class) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 108 | Medium | 
org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory.getPerception() may expose internal representation by returning AbstractPerceptionCategory.perception | MALICIOUS_CODE | EI_EXPOSE_REP | 60 | Medium | 
| new org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory(Perception) may expose internal representation by storing an externally mutable object into AbstractPerceptionCategory.perception | MALICIOUS_CODE | EI_EXPOSE_REP2 | 50 | Medium | 
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.gtu.plan.operational.OperationalPlan at new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 124 | Medium | 
| org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.getStartTime() may expose internal representation by returning OperationalPlan.startTime | MALICIOUS_CODE | EI_EXPOSE_REP | 163 | Medium | 
| org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.getTotalDuration() may expose internal representation by returning OperationalPlan.totalDuration | MALICIOUS_CODE | EI_EXPOSE_REP | 190 | Medium | 
| org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.getTotalLength() may expose internal representation by returning OperationalPlan.totalLength | MALICIOUS_CODE | EI_EXPOSE_REP | 199 | Medium | 
| new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) may expose internal representation by storing an externally mutable object into OperationalPlan.gtu | MALICIOUS_CODE | EI_EXPOSE_REP2 | 98 | Medium | 
| new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) may expose internal representation by storing an externally mutable object into OperationalPlan.segments | MALICIOUS_CODE | EI_EXPOSE_REP2 | 100 | Medium | 
| new org.opentrafficsim.core.gtu.plan.operational.OperationalPlan(Gtu, OtsLine2d, Time, Segments) may expose internal representation by storing an externally mutable object into OperationalPlan.startTime | MALICIOUS_CODE | EI_EXPOSE_REP2 | 99 | Medium | 
| Redundant nullcheck of p, which is known to be non-null in org.opentrafficsim.core.gtu.plan.operational.OperationalPlan.timeAtPoint(OrientedPoint2d, boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 422 | Medium | 
| Class org.opentrafficsim.core.gtu.plan.operational.OperationalPlan defines non-transient non-serializable instance field segments | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
org.opentrafficsim.core.gtu.plan.operational.Segment
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.gtu.plan.operational.Segment.acceleration() may expose internal representation by returning Segment.acceleration | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium | 
| org.opentrafficsim.core.gtu.plan.operational.Segment.duration() may expose internal representation by returning Segment.duration | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium | 
| org.opentrafficsim.core.gtu.plan.operational.Segment.durationAtDistance(Length) may expose internal representation by returning Segment.duration | MALICIOUS_CODE | EI_EXPOSE_REP | 123 | Medium | 
| org.opentrafficsim.core.gtu.plan.operational.Segment.startSpeed() may expose internal representation by returning Segment.startSpeed | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium | 
| new org.opentrafficsim.core.gtu.plan.operational.Segment(boolean, Speed, Duration, Acceleration) may expose internal representation by storing an externally mutable object into Segment.acceleration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium | 
| new org.opentrafficsim.core.gtu.plan.operational.Segment(boolean, Speed, Duration, Acceleration) may expose internal representation by storing an externally mutable object into Segment.duration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium | 
| new org.opentrafficsim.core.gtu.plan.operational.Segment(boolean, Speed, Duration, Acceleration) may expose internal representation by storing an externally mutable object into Segment.startSpeed | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium | 
org.opentrafficsim.core.math.Acceleration3d
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.math.Acceleration3d at new org.opentrafficsim.core.math.Acceleration3d(AccelerationVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 47 | Medium | 
| new org.opentrafficsim.core.math.Acceleration3d(AccelerationVector) may expose internal representation by storing an externally mutable object into Acceleration3d.acceleration | MALICIOUS_CODE | EI_EXPOSE_REP2 | 49 | Medium | 
org.opentrafficsim.core.math.Angle3d
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.math.Angle3d at new org.opentrafficsim.core.math.Angle3d(AngleVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 38 | Medium | 
| new org.opentrafficsim.core.math.Angle3d(AngleVector) may expose internal representation by storing an externally mutable object into Angle3d.rotation | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 | Medium | 
org.opentrafficsim.core.math.Direction3d
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.math.Direction3d at new org.opentrafficsim.core.math.Direction3d(DirectionVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 38 | Medium | 
| new org.opentrafficsim.core.math.Direction3d(DirectionVector) may expose internal representation by storing an externally mutable object into Direction3d.rotation | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 | Medium | 
org.opentrafficsim.core.math.Speed3d
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.math.Speed3d at new org.opentrafficsim.core.math.Speed3d(SpeedVector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 46 | Medium | 
| new org.opentrafficsim.core.math.Speed3d(SpeedVector) may expose internal representation by storing an externally mutable object into Speed3d.speed | MALICIOUS_CODE | EI_EXPOSE_REP2 | 48 | Medium | 
org.opentrafficsim.core.network.CapacityLink
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.network.CapacityLink.getCapacity() may expose internal representation by returning CapacityLink.capacity | MALICIOUS_CODE | EI_EXPOSE_REP | 49 | Medium | 
| new org.opentrafficsim.core.network.CapacityLink(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction, Frequency) may expose internal representation by storing an externally mutable object into CapacityLink.capacity | MALICIOUS_CODE | EI_EXPOSE_REP2 | 43 | Medium | 
| org.opentrafficsim.core.network.CapacityLink.setCapacity(Frequency) may expose internal representation by storing an externally mutable object into CapacityLink.capacity | MALICIOUS_CODE | EI_EXPOSE_REP2 | 55 | Medium | 
| org.opentrafficsim.core.network.CapacityLink doesn't override Link.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 1 | Medium | 
org.opentrafficsim.core.network.Connector
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.network.Connector at new org.opentrafficsim.core.network.Connector(Network, String, Node, Node, LinkType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 42 | Medium | 
| org.opentrafficsim.core.network.Connector doesn't override Link.equals(Object) | STYLE | EQ_DOESNT_OVERRIDE_EQUALS | 1 | Medium | 
org.opentrafficsim.core.network.Link
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.network.Link at new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 113 | Medium | 
| org.opentrafficsim.core.network.Link.getEndNode() may expose internal representation by returning Link.endNode | MALICIOUS_CODE | EI_EXPOSE_REP | 226 | Medium | 
| org.opentrafficsim.core.network.Link.getNetwork() may expose internal representation by returning Link.network | MALICIOUS_CODE | EI_EXPOSE_REP | 202 | Medium | 
| org.opentrafficsim.core.network.Link.getStartNode() may expose internal representation by returning Link.startNode | MALICIOUS_CODE | EI_EXPOSE_REP | 217 | Medium | 
| org.opentrafficsim.core.network.Link.getType() may expose internal representation by returning Link.linkType | MALICIOUS_CODE | EI_EXPOSE_REP | 232 | Medium | 
| new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.endNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 123 | Medium | 
| new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.linkType | MALICIOUS_CODE | EI_EXPOSE_REP2 | 124 | Medium | 
| new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.network | MALICIOUS_CODE | EI_EXPOSE_REP2 | 120 | Medium | 
| new org.opentrafficsim.core.network.Link(Network, String, Node, Node, LinkType, OtsLine2d, ContinuousLine$ContinuousDoubleFunction) may expose internal representation by storing an externally mutable object into Link.startNode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 122 | Medium | 
| Class org.opentrafficsim.core.network.Link defines non-transient non-serializable instance field elevation | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium | 
| Class org.opentrafficsim.core.network.Link defines non-transient non-serializable instance field shape | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium | 
| org.opentrafficsim.base.geometry.PolygonShape stored into non-transient field Link.shape | BAD_PRACTICE | SE_BAD_FIELD_STORE | 132 | High | 
org.opentrafficsim.core.network.LinkPosition
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.network.LinkPosition.link() may expose internal representation by returning LinkPosition.link | MALICIOUS_CODE | EI_EXPOSE_REP | 20 | Medium | 
| new org.opentrafficsim.core.network.LinkPosition(Link, double) may expose internal representation by storing an externally mutable object into LinkPosition.link | MALICIOUS_CODE | EI_EXPOSE_REP2 | 20 | Medium | 
org.opentrafficsim.core.network.Network
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.network.Network.setRawRouteMap(Map) may expose internal representation by storing an externally mutable object into Network.routeMap | MALICIOUS_CODE | EI_EXPOSE_REP2 | 919 | Medium | 
| Class org.opentrafficsim.core.network.Network defines non-transient non-serializable instance field linkGraphs | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| org.opentrafficsim.core.network.Network.getObjectMap(Class) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 390 | Medium | 
| org.opentrafficsim.core.network.Network.getRoute(String) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 688 | Medium | 
org.opentrafficsim.core.network.Node
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.network.Node at new org.opentrafficsim.core.network.Node(Network, String, OrientedPoint2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 105 | Medium | 
| Exception thrown in class org.opentrafficsim.core.network.Node at new org.opentrafficsim.core.network.Node(Network, String, Point2d) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 80 | Medium | 
| Exception thrown in class org.opentrafficsim.core.network.Node at new org.opentrafficsim.core.network.Node(Network, String, Point2d, Direction) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 93 | Medium | 
| org.opentrafficsim.core.network.Node.getNetwork() may expose internal representation by returning Node.network | MALICIOUS_CODE | EI_EXPOSE_REP | 128 | Medium | 
| new org.opentrafficsim.core.network.Node(Network, String, OrientedPoint2d) may expose internal representation by storing an externally mutable object into Node.network | MALICIOUS_CODE | EI_EXPOSE_REP2 | 109 | Medium | 
| Class org.opentrafficsim.core.network.Node defines non-transient non-serializable instance field shape | BAD_PRACTICE | SE_BAD_FIELD | Not available | High | 
| org.opentrafficsim.base.geometry.PolygonShape stored into non-transient field Node.shape | BAD_PRACTICE | SE_BAD_FIELD_STORE | 117 | High | 
org.opentrafficsim.core.network.route.FixedRouteGenerator
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.network.route.FixedRouteGenerator is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 28-44 | High | 
org.opentrafficsim.core.network.route.Route
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.network.route.Route at new org.opentrafficsim.core.network.route.Route(String, GtuType, List) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 79 | Medium | 
| org.opentrafficsim.core.network.route.Route.getNodes() may expose internal representation by returning Route.nodes | MALICIOUS_CODE | EI_EXPOSE_REP | 159 | Medium | 
org.opentrafficsim.core.object.StaticObject
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.object.StaticObject at new org.opentrafficsim.core.object.StaticObject(String, OrientedPoint2d, Polygon2d, Length) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 55 | Medium | 
| org.opentrafficsim.core.object.StaticObject.getHeight() may expose internal representation by returning StaticObject.height | MALICIOUS_CODE | EI_EXPOSE_REP | 125 | Medium | 
| Class org.opentrafficsim.core.object.StaticObject defines non-transient non-serializable instance field shape | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium | 
| org.opentrafficsim.base.geometry.PolygonShape stored into non-transient field StaticObject.shape | BAD_PRACTICE | SE_BAD_FIELD_STORE | 64 | Medium | 
org.opentrafficsim.core.parameters.ParameterFactoryByType
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.parameters.ParameterFactoryByType.setParameter(ParameterType, Object, Parameters, Map) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 185 | Medium | 
| org.opentrafficsim.core.parameters.ParameterFactoryByType.setValues(Parameters, GtuType) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 91 | Medium | 
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry is serializable but also an inner class of a non-serializable class | BAD_PRACTICE | SE_BAD_FIELD_INNER_CLASS | 447-484 | High | 
| Should org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntry be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 447-484 | Medium | 
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble is serializable but also an inner class of a non-serializable class | BAD_PRACTICE | SE_BAD_FIELD_INNER_CLASS | 499-535 | High | 
| Should org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryDouble be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 499-535 | Medium | 
org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger is serializable but also an inner class of a non-serializable class | BAD_PRACTICE | SE_BAD_FIELD_INNER_CLASS | 550-586 | High | 
| Should org.opentrafficsim.core.parameters.ParameterFactoryByType$DistributedEntryInteger be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 550-586 | Medium | 
org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry is serializable but also an inner class of a non-serializable class | BAD_PRACTICE | SE_BAD_FIELD_INNER_CLASS | 409-429 | High | 
| Should org.opentrafficsim.core.parameters.ParameterFactoryByType$FixedEntry be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 409-429 | Medium | 
org.opentrafficsim.core.perception.AbstractHistorical
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.perception.AbstractHistorical at new org.opentrafficsim.core.perception.AbstractHistorical(HistoryManager, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 71 | Medium | 
org.opentrafficsim.core.perception.HistoricalParameters
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| new org.opentrafficsim.core.perception.HistoricalParameters(HistoryManager, Object, Parameters) may expose internal representation by storing an externally mutable object into HistoricalParameters.params | MALICIOUS_CODE | EI_EXPOSE_REP2 | 36 | Medium | 
org.opentrafficsim.core.perception.HistoryManagerDevs
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.perception.HistoryManagerDevs at new org.opentrafficsim.core.perception.HistoryManagerDevs(OtsSimulatorInterface, Duration, Duration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 53 | Medium | 
| new org.opentrafficsim.core.perception.HistoryManagerDevs(OtsSimulatorInterface, Duration, Duration) may expose internal representation by storing an externally mutable object into HistoryManagerDevs.cleanUpInterval | MALICIOUS_CODE | EI_EXPOSE_REP2 | 52 | Medium | 
| new org.opentrafficsim.core.perception.HistoryManagerDevs(OtsSimulatorInterface, Duration, Duration) may expose internal representation by storing an externally mutable object into HistoryManagerDevs.history | MALICIOUS_CODE | EI_EXPOSE_REP2 | 51 | Medium | 
org.opentrafficsim.core.perception.collections.AbstractHistoricalList
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.perception.collections.AbstractHistoricalList.get(int) is unsynchronized, org.opentrafficsim.core.perception.collections.AbstractHistoricalList.set(int, Object) is synchronized | MT_CORRECTNESS | UG_SYNC_SET_UNSYNC_GET | 107 | Medium | 
org.opentrafficsim.core.perception.collections.AbstractHistoricalMap
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| Exception thrown in class org.opentrafficsim.core.perception.collections.AbstractHistoricalMap at new org.opentrafficsim.core.perception.collections.AbstractHistoricalMap(HistoryManager, Object, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 48 | Medium | 
org.opentrafficsim.core.units.distributions.AbstractContinuousDistScalar
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.units.distributions.AbstractContinuousDistScalar.getDistribution() may expose internal representation by returning AbstractContinuousDistScalar.distribution | MALICIOUS_CODE | EI_EXPOSE_REP | 58 | Medium | 
org.opentrafficsim.core.units.distributions.AbstractDiscreteDistScalar
| Bug | Category | Details | Line | Priority | 
|---|---|---|---|---|
| org.opentrafficsim.core.units.distributions.AbstractDiscreteDistScalar.getDistribution() may expose internal representation by returning AbstractDiscreteDistScalar.distribution | MALICIOUS_CODE | EI_EXPOSE_REP | 58 | Medium | 
