SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.1

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
36 39 0 0

Files

Class Bugs
org.opentrafficsim.trafficcontrol.FixedTimeController 6
org.opentrafficsim.trafficcontrol.FixedTimeController$Flank 3
org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup 10
org.opentrafficsim.trafficcontrol.ccol.Ccol 5
org.opentrafficsim.trafficcontrol.trafcod.Diagram 1
org.opentrafficsim.trafficcontrol.trafcod.Diagram$2 1
org.opentrafficsim.trafficcontrol.trafcod.Diagram$RouteStep 1
org.opentrafficsim.trafficcontrol.trafcod.TrafCod 9
org.opentrafficsim.trafficcontrol.trafcod.TrafCodDisplay 1
org.opentrafficsim.trafficcontrol.trafcod.Variable 2

org.opentrafficsim.trafficcontrol.FixedTimeController

Bug Category Details Line Priority
org.opentrafficsim.trafficcontrol.FixedTimeController.getCycleTime() may expose internal representation by returning FixedTimeController.cycleTime MALICIOUS_CODE EI_EXPOSE_REP 283 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController.getOffset() may expose internal representation by returning FixedTimeController.offset MALICIOUS_CODE EI_EXPOSE_REP 291 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController.getSignalGroups() may expose internal representation by returning FixedTimeController.signalGroups MALICIOUS_CODE EI_EXPOSE_REP 299 Medium
new org.opentrafficsim.trafficcontrol.FixedTimeController(String, OtsSimulatorInterface, Network, Duration, Duration, Set) may expose internal representation by storing an externally mutable object into FixedTimeController.cycleTime MALICIOUS_CODE EI_EXPOSE_REP2 90 Medium
new org.opentrafficsim.trafficcontrol.FixedTimeController(String, OtsSimulatorInterface, Network, Duration, Duration, Set) may expose internal representation by storing an externally mutable object into FixedTimeController.offset MALICIOUS_CODE EI_EXPOSE_REP2 91 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController.mergeGreenPhasesInNewSignalGroups() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 124 Medium

org.opentrafficsim.trafficcontrol.FixedTimeController$Flank

Bug Category Details Line Priority
org.opentrafficsim.trafficcontrol.FixedTimeController$Flank.compareTo(FixedTimeController$Flank) incorrectly handles double value BAD_PRACTICE CO_COMPARETO_INCORRECT_FLOATING 716 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController$Flank defines compareTo(FixedTimeController$Flank) and uses Object.equals() BAD_PRACTICE EQ_COMPARETO_USE_OBJECT_EQUALS 707-728 Medium
Should org.opentrafficsim.trafficcontrol.FixedTimeController$Flank be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 658-728 Medium

org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup

Bug Category Details Line Priority
org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup.getGreen() may expose internal representation by returning FixedTimeController$SignalGroup.green MALICIOUS_CODE EI_EXPOSE_REP 623 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup.getOffset() may expose internal representation by returning FixedTimeController$SignalGroup.offset MALICIOUS_CODE EI_EXPOSE_REP 607 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup.getPreGreen() may expose internal representation by returning FixedTimeController$SignalGroup.preGreen MALICIOUS_CODE EI_EXPOSE_REP 615 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup.getRed() may expose internal representation by returning FixedTimeController$SignalGroup.red MALICIOUS_CODE EI_EXPOSE_REP 591 Medium
org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup.getYellow() may expose internal representation by returning FixedTimeController$SignalGroup.yellow MALICIOUS_CODE EI_EXPOSE_REP 631 Medium
new org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup(String, Set, Duration, Duration, Duration, Duration) may expose internal representation by storing an externally mutable object into FixedTimeController$SignalGroup.green MALICIOUS_CODE EI_EXPOSE_REP2 396 Medium
new org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup(String, Set, Duration, Duration, Duration, Duration) may expose internal representation by storing an externally mutable object into FixedTimeController$SignalGroup.offset MALICIOUS_CODE EI_EXPOSE_REP2 394 Medium
new org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup(String, Set, Duration, Duration, Duration, Duration) may expose internal representation by storing an externally mutable object into FixedTimeController$SignalGroup.preGreen MALICIOUS_CODE EI_EXPOSE_REP2 395 Medium
new org.opentrafficsim.trafficcontrol.FixedTimeController$SignalGroup(String, Set, Duration, Duration, Duration, Duration) may expose internal representation by storing an externally mutable object into FixedTimeController$SignalGroup.yellow MALICIOUS_CODE EI_EXPOSE_REP2 397 Medium
Using floating-point loop counters can lead to unexpected behavior. CORRECTNESS FL_FLOATS_AS_LOOP_COUNTERS 424 Medium

org.opentrafficsim.trafficcontrol.ccol.Ccol

Bug Category Details Line Priority
Dead store to $L2 in org.opentrafficsim.trafficcontrol.ccol.Ccol.step() STYLE DLS_DEAD_LOCAL_STORE 173 Medium
Found reliance on default encoding in org.opentrafficsim.trafficcontrol.ccol.Ccol.setClientSocket(Socket): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 133 High
Found reliance on default encoding in org.opentrafficsim.trafficcontrol.ccol.Ccol.setClientSocket(Socket): new java.io.PrintWriter(OutputStream) I18N DM_DEFAULT_ENCODING 134 High
new org.opentrafficsim.trafficcontrol.ccol.Ccol(String, String, Set, Set, OtsSimulator) may expose internal representation by storing an externally mutable object into Ccol.simulator MALICIOUS_CODE EI_EXPOSE_REP2 86 Medium
new org.opentrafficsim.trafficcontrol.ccol.Ccol(String, String, Set, Set, OtsSimulator) invokes Thread.start() MT_CORRECTNESS SC_START_IN_CTOR 107 Medium

org.opentrafficsim.trafficcontrol.trafcod.Diagram

Bug Category Details Line Priority
Integer is incompatible with expected argument type Short in org.opentrafficsim.trafficcontrol.trafcod.Diagram.routePoint(int, Diagram$RouteStep[]) CORRECTNESS GC_UNRELATED_TYPES 690 High

org.opentrafficsim.trafficcontrol.trafcod.Diagram$2

Bug Category Details Line Priority
Write to static field org.opentrafficsim.trafficcontrol.trafcod.Diagram.checkBoxPanel from instance method org.opentrafficsim.trafficcontrol.trafcod.Diagram$2.run() STYLE ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 814 Medium

org.opentrafficsim.trafficcontrol.trafcod.Diagram$RouteStep

Bug Category Details Line Priority
Should org.opentrafficsim.trafficcontrol.trafcod.Diagram$RouteStep be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 418-521 Medium

org.opentrafficsim.trafficcontrol.trafcod.TrafCod

Bug Category Details Line Priority
Dead store to tli in org.opentrafficsim.trafficcontrol.trafcod.TrafCod.addTrafCODDisplay(List) STYLE DLS_DEAD_LOCAL_STORE 591 Medium
Found reliance on default encoding in org.opentrafficsim.trafficcontrol.trafcod.TrafCod.loadTextFromURL(URL): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 232 High
org.opentrafficsim.trafficcontrol.trafcod.TrafCod.parse(String, String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 1516 Medium
org.opentrafficsim.trafficcontrol.trafcod.TrafCod.getDisplayContainer() may expose internal representation by returning TrafCod.displayContainer MALICIOUS_CODE EI_EXPOSE_REP 1889 Medium
new org.opentrafficsim.trafficcontrol.trafcod.TrafCod(String, List, OtsSimulatorInterface, BufferedImage, List) may expose internal representation by storing an externally mutable object into TrafCod.displayBackground MALICIOUS_CODE EI_EXPOSE_REP2 185 Medium
new org.opentrafficsim.trafficcontrol.trafcod.TrafCod(String, List, OtsSimulatorInterface, BufferedImage, List) may expose internal representation by storing an externally mutable object into TrafCod.displayObjectLocations MALICIOUS_CODE EI_EXPOSE_REP2 186 Medium
new org.opentrafficsim.trafficcontrol.trafcod.TrafCod(String, List, OtsSimulatorInterface, BufferedImage, List) may expose internal representation by storing an externally mutable object into TrafCod.trafCODRules MALICIOUS_CODE EI_EXPOSE_REP2 188 Medium
v could be null and is guaranteed to be dereferenced in org.opentrafficsim.trafficcontrol.trafcod.TrafCod.notify(Event) CORRECTNESS NP_GUARANTEED_DEREF 1842 High
org.opentrafficsim.trafficcontrol.trafcod.TrafCod.loadTextFromURL(URL) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 232 Medium

org.opentrafficsim.trafficcontrol.trafcod.TrafCodDisplay

Bug Category Details Line Priority
new org.opentrafficsim.trafficcontrol.trafcod.TrafCodDisplay(BufferedImage) may expose internal representation by storing an externally mutable object into TrafCodDisplay.image MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium

org.opentrafficsim.trafficcontrol.trafcod.Variable

Bug Category Details Line Priority
Load of known null value in org.opentrafficsim.trafficcontrol.trafcod.Variable.cloneState(Variable, Network) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 2327 Medium
A known null value is checked to see if it is an instance of org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight in org.opentrafficsim.trafficcontrol.trafcod.Variable.cloneState(Variable, Network) CORRECTNESS NP_NULL_INSTANCEOF 2327 Medium