FindBugs Bug Detector Report

The following document contains the results of FindBugs

FindBugs Version is 3.0.1

Threshold is medium

Effort is min

Summary

Classes Bugs Errors Missing Classes
527 104 0 0

Files

Class Bugs
nl.tudelft.simulation.dsol.animation.Editable 3
nl.tudelft.simulation.dsol.animation.StaticLocation 2
nl.tudelft.simulation.dsol.eventlists.TableModelEventList 1
nl.tudelft.simulation.dsol.experiment.Experiment 2
nl.tudelft.simulation.dsol.experiment.ExperimentalFrame 1
nl.tudelft.simulation.dsol.experiment.Replication 2
nl.tudelft.simulation.dsol.formalisms.Resource 2
nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquation 2
nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquationInterface 2
nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.AbstractDEVSModel$StateUpdate 1
nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel 6
nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.InputPort 1
nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.Phase 1
nl.tudelft.simulation.dsol.formalisms.eventscheduling.LambdaSimEvent 1
nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEvent 3
nl.tudelft.simulation.dsol.formalisms.flow.Generator 2
nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarDouble 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarFloat 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarLong 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDouble 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDoubleUnit 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloat 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloatUnit 1
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeLong 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarDouble 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarFloat 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarLong 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDouble 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDoubleUnit 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloat 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloatUnit 1
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeLong 1
nl.tudelft.simulation.dsol.formalisms.flow.Seize 1
nl.tudelft.simulation.dsol.formalisms.flow.Station 1
nl.tudelft.simulation.dsol.formalisms.flow.statistics.Utilization 1
nl.tudelft.simulation.dsol.model.inputparameters.AbstractInputParameterMap$InputParameterComparator 1
nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionList 1
nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionMap 4
nl.tudelft.simulation.dsol.model.inputparameters.reader.ReadInputParameters 2
nl.tudelft.simulation.dsol.simtime.SimTimeCalendarDouble 1
nl.tudelft.simulation.dsol.simtime.SimTimeCalendarFloat 1
nl.tudelft.simulation.dsol.simtime.SimTimeCalendarLong 1
nl.tudelft.simulation.dsol.simulators.DEVSRealTimeClock 3
nl.tudelft.simulation.dsol.simulators.DEVSSimulator 1
nl.tudelft.simulation.dsol.simulators.Simulator 1
nl.tudelft.simulation.dsol.statistics.SimCounter 2
nl.tudelft.simulation.jstats.distributions.DistDiscreteEmpirical 7
nl.tudelft.simulation.jstats.distributions.DistEmpirical 3
nl.tudelft.simulation.jstats.distributions.DistGamma 1
nl.tudelft.simulation.jstats.distributions.DistNormal 1
nl.tudelft.simulation.jstats.distributions.empirical.Observations 2
nl.tudelft.simulation.jstats.distributions.empirical.Observations$Observation 1
nl.tudelft.simulation.jstats.ode.DifferentialEquation 1
nl.tudelft.simulation.jstats.ode.integrators.NumericalIntegrator 1
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp 5
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg 5
nl.tudelft.simulation.jstats.statistics.Counter 3
nl.tudelft.simulation.jstats.statistics.Persistent 1
nl.tudelft.simulation.jstats.statistics.StatisticsTableModel 1
nl.tudelft.simulation.jstats.statistics.Tally 1
nl.tudelft.simulation.jstats.streams.Java2Random 1

nl.tudelft.simulation.dsol.animation.Editable

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in nl.tudelft.simulation.dsol.animation.Editable.<static initializer for Editable>() STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 48 Medium
nl.tudelft.simulation.dsol.animation.Editable.getVertices() may expose internal representation by returning Editable.vertices MALICIOUS_CODE EI_EXPOSE_REP 110 Medium
nl.tudelft.simulation.dsol.animation.Editable.setVertices(CartesianPoint[]) may expose internal representation by storing an externally mutable object into Editable.vertices MALICIOUS_CODE EI_EXPOSE_REP2 137 Medium

nl.tudelft.simulation.dsol.animation.StaticLocation

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.animation.StaticLocation doesn't override nl.tudelft.simulation.language.d3.DirectedPoint.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium
Class nl.tudelft.simulation.dsol.animation.StaticLocation defines non-transient non-serializable instance field bounds BAD_PRACTICE SE_BAD_FIELD Not available Medium

nl.tudelft.simulation.dsol.eventlists.TableModelEventList

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.eventlists.TableModelEventList.HEADER should be package protected MALICIOUS_CODE MS_PKGPROTECT 37 Medium

nl.tudelft.simulation.dsol.experiment.Experiment

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.experiment.Experiment.getModel() is unsynchronized, nl.tudelft.simulation.dsol.experiment.Experiment.setModel(DSOLModel) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 137 Medium
nl.tudelft.simulation.dsol.experiment.Experiment.getSimulator() is unsynchronized, nl.tudelft.simulation.dsol.experiment.Experiment.setSimulator(SimulatorInterface) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 128 Medium

nl.tudelft.simulation.dsol.experiment.ExperimentalFrame

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.experiment.ExperimentalFrame.toString() concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 155 Medium

nl.tudelft.simulation.dsol.experiment.Replication

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.experiment.Replication.toString() concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 222 Medium
Class nl.tudelft.simulation.dsol.experiment.Replication defines non-transient non-serializable instance field context BAD_PRACTICE SE_BAD_FIELD Not available Medium

nl.tudelft.simulation.dsol.formalisms.Resource

Bug Category Details Line Priority
Inconsistent synchronization of nl.tudelft.simulation.dsol.formalisms.Resource.claimedCapacity; locked 57% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 116 Medium
Class nl.tudelft.simulation.dsol.formalisms.Resource defines non-transient non-serializable instance field requests BAD_PRACTICE SE_BAD_FIELD Not available Medium

nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquation

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquation.initialize(double, double[]) may expose internal representation by storing an externally mutable object into DifferentialEquation.previousY MALICIOUS_CODE EI_EXPOSE_REP2 136 Medium
The class name nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquation shadows the simple name of the superclass nl.tudelft.simulation.jstats.ode.DifferentialEquation BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_SUPERCLASS 39-137 High

nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquationInterface

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquationInterface.VALUE_CHANGED_EVENT should be moved out of an interface and made package protected MALICIOUS_CODE MS_OOI_PKGPROTECT 22 Medium
The class name nl.tudelft.simulation.dsol.formalisms.dess.DifferentialEquationInterface shadows the simple name of implemented interface nl.tudelft.simulation.jstats.ode.DifferentialEquationInterface BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE 22-25 Medium

nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.AbstractDEVSModel$StateUpdate

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.AbstractDEVSModel$StateUpdate is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 280-308 Medium

nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel

Bug Category Details Line Priority
Using pointer equality to compare a InputPortInterface<A,R,T,TYPE> with a AbstractDEVSModel<A,R,T> in nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel.removeInternalCoupling(OutputPortInterface, InputPortInterface) CORRECTNESS EC_UNRELATED_TYPES_USING_POINTER_EQUALITY 198 Medium
Using pointer equality to compare a OutputPortInterface<A,R,T,TYPE> with a AbstractDEVSModel<A,R,T> in nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel.removeInternalCoupling(OutputPortInterface, InputPortInterface) CORRECTNESS EC_UNRELATED_TYPES_USING_POINTER_EQUALITY 198 Medium
IC<A,R,T,?> is incompatible with expected argument type EIC<A,R,T,?> in nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel.removeInputPort(String) CORRECTNESS GC_UNRELATED_TYPES 370 High
IC<A,R,T,?> is incompatible with expected argument type EIC<A,R,T,?> in nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel.removeInternalCoupling(OutputPortInterface, InputPortInterface) CORRECTNESS GC_UNRELATED_TYPES 200 High
IC<A,R,T,?> is incompatible with expected argument type EIC<A,R,T,?> in nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel.removeModelComponent(AbstractDEVSModel) CORRECTNESS GC_UNRELATED_TYPES 339 High
IC<A,R,T,?> is incompatible with expected argument type EIC<A,R,T,?> in nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.CoupledModel.removeOutputPort(String) CORRECTNESS GC_UNRELATED_TYPES 396 High

nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.InputPort

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.InputPort.receive(Object, SimTime) calls Thread.sleep() with a lock held MT_CORRECTNESS SWL_SLEEP_WITH_LOCK_HELD 76 Medium

nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.Phase

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.formalisms.devs.ESDEVS.Phase(String) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 42 Medium

nl.tudelft.simulation.dsol.formalisms.eventscheduling.LambdaSimEvent

Bug Category Details Line Priority
Class nl.tudelft.simulation.dsol.formalisms.eventscheduling.LambdaSimEvent defines non-transient non-serializable instance field executable BAD_PRACTICE SE_BAD_FIELD Not available Medium

nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEvent

Bug Category Details Line Priority
Invocation of toString on SimEvent.args in nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEvent.toString() CORRECTNESS DMI_INVOKING_TOSTRING_ON_ARRAY 172 High
nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEvent.getArgs() may expose internal representation by returning SimEvent.args MALICIOUS_CODE EI_EXPOSE_REP 140 Medium
new nl.tudelft.simulation.dsol.formalisms.eventscheduling.SimEvent(SimTime, short, Object, Object, String, Object[]) may expose internal representation by storing an externally mutable object into SimEvent.args MALICIOUS_CODE EI_EXPOSE_REP2 92 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.formalisms.flow.Generator(DEVSSimulatorInterface, Class, Object[]) may expose internal representation by storing an externally mutable object into Generator.constructorArguments MALICIOUS_CODE EI_EXPOSE_REP2 110 Medium
nl.tudelft.simulation.dsol.formalisms.flow.Generator.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator.setStartTime(DistContinuousSimTime) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 223 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarDouble

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarDouble.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarDouble.setStartTime(DistContinuousSimTime$CalendarDouble) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 530 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarFloat

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarFloat.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarFloat.setStartTime(DistContinuousSimTime$CalendarFloat) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 587 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarLong

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarLong.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$CalendarLong.setStartTime(DistContinuousSimTime$CalendarLong) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 644 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDouble

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDouble.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDouble.setStartTime(DistContinuousSimTime$TimeDouble) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 250 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDoubleUnit

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDoubleUnit.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeDoubleUnit.setStartTime(DistContinuousSimTime$TimeDoubleUnit) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 416 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloat

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloat.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloat.setStartTime(DistContinuousSimTime$TimeFloat) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 306 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloatUnit

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloatUnit.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeFloatUnit.setStartTime(DistContinuousSimTime$TimeFloatUnit) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 473 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeLong

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeLong.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Generator$TimeLong.setStartTime(DistContinuousSimTime$TimeLong) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 361 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule.getSchedule() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule.setSchedule(SortedMap) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 83 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarDouble

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarDouble.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarDouble.setStartTime(DistContinuousSimTime$CalendarDouble) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 404 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarFloat

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarFloat.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarFloat.setStartTime(DistContinuousSimTime$CalendarFloat) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 461 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarLong

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarLong.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$CalendarLong.setStartTime(DistContinuousSimTime$CalendarLong) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 518 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDouble

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDouble.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDouble.setStartTime(DistContinuousSimTime$TimeDouble) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 124 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDoubleUnit

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDoubleUnit.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeDoubleUnit.setStartTime(DistContinuousSimTime$TimeDoubleUnit) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 290 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloat

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloat.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloat.setStartTime(DistContinuousSimTime$TimeFloat) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 180 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloatUnit

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloatUnit.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeFloatUnit.setStartTime(DistContinuousSimTime$TimeFloatUnit) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 347 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeLong

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeLong.getStartTime() is unsynchronized, nl.tudelft.simulation.dsol.formalisms.flow.Schedule$TimeLong.setStartTime(DistContinuousSimTime$TimeLong) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 235 Medium

nl.tudelft.simulation.dsol.formalisms.flow.Seize

Bug Category Details Line Priority
Class nl.tudelft.simulation.dsol.formalisms.flow.Seize defines non-transient non-serializable instance field queue BAD_PRACTICE SE_BAD_FIELD Not available Medium

nl.tudelft.simulation.dsol.formalisms.flow.Station

Bug Category Details Line Priority
Inconsistent synchronization of nl.tudelft.simulation.dsol.formalisms.flow.Station.destination; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 95 Medium

nl.tudelft.simulation.dsol.formalisms.flow.statistics.Utilization

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.formalisms.flow.statistics.Utilization.endOfReplication() concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 124 Medium

nl.tudelft.simulation.dsol.model.inputparameters.AbstractInputParameterMap$InputParameterComparator

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.model.inputparameters.AbstractInputParameterMap$InputParameterComparator.compare(InputParameter, InputParameter) incorrectly handles double value BAD_PRACTICE CO_COMPARETO_INCORRECT_FLOATING 217 Medium

nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionList

Bug Category Details Line Priority
Useless object stored in variable clonedList of method nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionList.clone() STYLE UC_USELESS_OBJECT 133 Medium

nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionMap

Bug Category Details Line Priority
Null passed for non-null parameter of java.util.SortedMap.get(Object) in nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionMap.setKeyforValue(Object) CORRECTNESS NP_NULL_PARAM_DEREF 132 Medium
Useless object stored in variable clonedMap of method nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionMap.clone() STYLE UC_USELESS_OBJECT 141 Medium
nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionMap.clone() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 144 Medium
nl.tudelft.simulation.dsol.model.inputparameters.InputParameterSelectionMap.getKeyforValue(Object) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 85 Medium

nl.tudelft.simulation.dsol.model.inputparameters.reader.ReadInputParameters

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive nl.tudelft.simulation.dsol.model.inputparameters.reader.ReadInputParameters.setParameter(InputParameter, String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 268 High
Boxing/unboxing to parse a primitive nl.tudelft.simulation.dsol.model.inputparameters.reader.ReadInputParameters.setParameter(InputParameter, String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 273 High

nl.tudelft.simulation.dsol.simtime.SimTimeCalendarDouble

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.simtime.SimTimeCalendarDouble defines compareTo(SimTimeCalendarDouble) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 72 Medium

nl.tudelft.simulation.dsol.simtime.SimTimeCalendarFloat

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.simtime.SimTimeCalendarFloat defines compareTo(SimTimeCalendarFloat) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 72 Medium

nl.tudelft.simulation.dsol.simtime.SimTimeCalendarLong

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.simtime.SimTimeCalendarLong defines compareTo(SimTimeCalendarLong) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 69 Medium

nl.tudelft.simulation.dsol.simulators.DEVSRealTimeClock

Bug Category Details Line Priority
Synchronization on Boolean in nl.tudelft.simulation.dsol.simulators.DEVSRealTimeClock.run() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 92 High
Synchronization on Boolean in nl.tudelft.simulation.dsol.simulators.DEVSRealTimeClock.setAnimation(boolean) MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 297 High
Synchronization on DEVSRealTimeClock.animation in futile attempt to guard it MT_CORRECTNESS ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD 319 Medium

nl.tudelft.simulation.dsol.simulators.DEVSSimulator

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.simulators.DEVSSimulator.getEventList() is unsynchronized, nl.tudelft.simulation.dsol.simulators.DEVSSimulator.setEventList(EventListInterface) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 73 Medium

nl.tudelft.simulation.dsol.simulators.Simulator

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.simulators.Simulator's readObject method is synchronized MT_CORRECTNESS RS_READOBJECT_SYNC 295-305 Medium

nl.tudelft.simulation.dsol.statistics.SimCounter

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.statistics.SimCounter.endOfReplication() invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 181 Medium
nl.tudelft.simulation.dsol.statistics.SimCounter.endOfReplication() concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 166 Medium

nl.tudelft.simulation.jstats.distributions.DistDiscreteEmpirical

Bug Category Details Line Priority
new nl.tudelft.simulation.jstats.distributions.DistDiscreteEmpirical(StreamInterface, long[]) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 80 Medium
nl.tudelft.simulation.jstats.distributions.DistDiscreteEmpirical.probability(int) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 113 Medium
Class nl.tudelft.simulation.jstats.distributions.DistDiscreteEmpirical defines non-transient non-serializable instance field observations BAD_PRACTICE SE_BAD_FIELD Not available Medium
nl.tudelft.simulation.jstats.distributions.empirical.Observations stored into non-transient field DistDiscreteEmpirical.observations BAD_PRACTICE SE_BAD_FIELD_STORE 46 Medium
nl.tudelft.simulation.jstats.distributions.empirical.Observations stored into non-transient field DistDiscreteEmpirical.observations BAD_PRACTICE SE_BAD_FIELD_STORE 64 Medium
nl.tudelft.simulation.jstats.distributions.empirical.Observations stored into non-transient field DistDiscreteEmpirical.observations BAD_PRACTICE SE_BAD_FIELD_STORE 82 Medium
nl.tudelft.simulation.jstats.distributions.empirical.Observations stored into non-transient field DistDiscreteEmpirical.observations BAD_PRACTICE SE_BAD_FIELD_STORE 97 Medium

nl.tudelft.simulation.jstats.distributions.DistEmpirical

Bug Category Details Line Priority
Class nl.tudelft.simulation.jstats.distributions.DistEmpirical defines non-transient non-serializable instance field observations BAD_PRACTICE SE_BAD_FIELD Not available Medium
nl.tudelft.simulation.jstats.distributions.empirical.Observations stored into non-transient field DistEmpirical.observations BAD_PRACTICE SE_BAD_FIELD_STORE 51 Medium
nl.tudelft.simulation.jstats.distributions.empirical.Observations stored into non-transient field DistEmpirical.observations BAD_PRACTICE SE_BAD_FIELD_STORE 75 Medium

nl.tudelft.simulation.jstats.distributions.DistGamma

Bug Category Details Line Priority
new IllegalArgumentException(String) not thrown in nl.tudelft.simulation.jstats.distributions.DistGamma.draw() CORRECTNESS RV_EXCEPTION_NOT_THROWN 86 High

nl.tudelft.simulation.jstats.distributions.DistNormal

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.distributions.DistNormal.CUMULATIVE_NORMAL_PROBABILITIES should be package protected MALICIOUS_CODE MS_PKGPROTECT 194 Medium

nl.tudelft.simulation.jstats.distributions.empirical.Observations

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.distributions.empirical.Observations.toString() concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 325 Medium
new nl.tudelft.simulation.jstats.distributions.empirical.Observations(SortedMap, boolean) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 60 Medium

nl.tudelft.simulation.jstats.distributions.empirical.Observations$Observation

Bug Category Details Line Priority
Should nl.tudelft.simulation.jstats.distributions.empirical.Observations$Observation be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 341-369 Medium

nl.tudelft.simulation.jstats.ode.DifferentialEquation

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.ode.DifferentialEquation.initialize(double, double[]) may expose internal representation by storing an externally mutable object into DifferentialEquation.y0 MALICIOUS_CODE EI_EXPOSE_REP2 76 Medium

nl.tudelft.simulation.jstats.ode.integrators.NumericalIntegrator

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.ode.integrators.NumericalIntegrator.getError() may expose internal representation by returning NumericalIntegrator.error MALICIOUS_CODE EI_EXPOSE_REP 247 Medium

nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp.a should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 23 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp.b should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 27 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp.c should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 34 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp.c4 should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 38 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaCashCarp.nk isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 42 Medium

nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg.a should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 23 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg.b should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 27 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg.c should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 34 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg.c4 should be both final and package protected MALICIOUS_CODE MS_FINAL_PKGPROTECT 38 Medium
nl.tudelft.simulation.jstats.ode.integrators.RungeKuttaFehlberg.nk isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 42 Medium

nl.tudelft.simulation.jstats.statistics.Counter

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.statistics.Counter.getTable() invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 169 Medium
nl.tudelft.simulation.jstats.statistics.Counter.setCount(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 133 Medium
nl.tudelft.simulation.jstats.statistics.Counter.setN(long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 143 Medium

nl.tudelft.simulation.jstats.statistics.Persistent

Bug Category Details Line Priority
instanceof will always return true for all non-null values in nl.tudelft.simulation.jstats.statistics.Persistent.notify(EventInterface), since all nl.tudelft.simulation.event.TimedEvent are instances of nl.tudelft.simulation.event.TimedEvent STYLE BC_VACUOUS_INSTANCEOF 101 Medium

nl.tudelft.simulation.jstats.statistics.StatisticsTableModel

Bug Category Details Line Priority
new nl.tudelft.simulation.jstats.statistics.StatisticsTableModel(Object[], EventType[], int) may expose internal representation by storing an externally mutable object into StatisticsTableModel.eventTypes MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

nl.tudelft.simulation.jstats.statistics.Tally

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.statistics.Tally.getTable() invokes inefficient new Long(long) constructor; use Long.valueOf(long) instead PERFORMANCE DM_NUMBER_CTOR 277 Medium

nl.tudelft.simulation.jstats.streams.Java2Random

Bug Category Details Line Priority
nl.tudelft.simulation.jstats.streams.Java2Random.getSeed() is unsynchronized, nl.tudelft.simulation.jstats.streams.Java2Random.setSeed(long) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 75 Medium