SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.4

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
194 178 0 0

Files

Class Bugs
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationPanel 2
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread 3
nl.tudelft.simulation.dsol.swing.animation.d2.AutoPanAnimationPanel 1
nl.tudelft.simulation.dsol.swing.animation.d2.InputListener 1
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel 8
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel$AnimationEventProducer 1
nl.tudelft.simulation.dsol.swing.animation.d2.actions.HomeAction 2
nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanDownAction 2
nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanLeftAction 2
nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanRightAction 2
nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanUpAction 2
nl.tudelft.simulation.dsol.swing.animation.d2.actions.ShowGridAction 1
nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomInAction 2
nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomOutAction 2
nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerChart 1
nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerPlot 1
nl.tudelft.simulation.dsol.swing.charts.histogram.Histogram 2
nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDataset 3
nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDomainAxis 1
nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramSeries$Bin 1
nl.tudelft.simulation.dsol.swing.charts.xy.XYChart 9
nl.tudelft.simulation.dsol.swing.charts.xy.XYDataset 1
nl.tudelft.simulation.dsol.swing.charts.xy.XYSeries 3
nl.tudelft.simulation.dsol.swing.gui.ConsoleLogger$ConsoleLogWriter 1
nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput 1
nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomErrorStream 2
nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomOutputStream 2
nl.tudelft.simulation.dsol.swing.gui.DsolApplication 5
nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2 4
nl.tudelft.simulation.dsol.swing.gui.DsolApplication$SubMenuShower 1
nl.tudelft.simulation.dsol.swing.gui.DsolPanel 3
nl.tudelft.simulation.dsol.swing.gui.HtmlPanel 2
nl.tudelft.simulation.dsol.swing.gui.InputParametersTab 1
nl.tudelft.simulation.dsol.swing.gui.TablePanel 1
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationApplication 2
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab 9
nl.tudelft.simulation.dsol.swing.gui.animation.panel.ButtonPanel 1
nl.tudelft.simulation.dsol.swing.gui.animation.panel.InfoTextPanel 3
nl.tudelft.simulation.dsol.swing.gui.animation.panel.SearchPanel 1
nl.tudelft.simulation.dsol.swing.gui.animation.panel.SearchPanel$SearchPanelEventProducer 1
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel 13
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel$DisposeOnCloseThread 2
nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel 2
nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel$TimeUpdateTask 1
nl.tudelft.simulation.dsol.swing.gui.control.RunSpeedSliderPanel 1
nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel 2
nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel 2
nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel$TimeUpdateTask 1
nl.tudelft.simulation.dsol.swing.gui.inputparameters.TabbedParameterDialog 1
nl.tudelft.simulation.dsol.swing.gui.util.Icons 2
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel 7
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel$CollectionProperty 1
nl.tudelft.simulation.dsol.swing.introspection.gui.ExpandButton 3
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel 7
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel$ImmutableCollectionProperty 1
nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog 7
nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel 5
nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel$MapProperty 1
nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable 5
nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel 4
nl.tudelft.simulation.dsol.swing.introspection.gui.UpdateTimer 2
nl.tudelft.simulation.dsol.swing.introspection.mapping.ArrayRenderer 2
nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration 3
nl.tudelft.simulation.dsol.swing.introspection.mapping.ExpandButtonEditor 1
nl.tudelft.simulation.dsol.swing.introspection.mapping.ImmutableMapRenderer 1
nl.tudelft.simulation.dsol.swing.introspection.mapping.MapRenderer 1
nl.tudelft.simulation.dsol.swing.introspection.mapping.MyColorEditor 1
nl.tudelft.simulation.dsol.swing.introspection.mapping.SwingCellEditor 2
nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingHeaderCell 2
nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingTableModel 1
nl.tudelft.simulation.dsol.swing.statistics.StatisticsTable 1

nl.tudelft.simulation.dsol.swing.animation.d2.AnimationPanel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.animation.d2.AnimationPanel at new nl.tudelft.simulation.dsol.swing.animation.d2.AnimationPanel(Bounds2d, SimulatorInterface) 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
new nl.tudelft.simulation.dsol.swing.animation.d2.AnimationPanel(Bounds2d, SimulatorInterface) may expose internal representation by storing an externally mutable object into AnimationPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread.getUpdateFrequency() may expose internal representation by returning AnimationUpdaterThread.updateFrequency MALICIOUS_CODE EI_EXPOSE_REP 109 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread(EventProducer) may expose internal representation by storing an externally mutable object into AnimationUpdaterThread.eventProducer MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread.setUpdateFrequency(Frequency) may expose internal representation by storing an externally mutable object into AnimationUpdaterThread.updateFrequency MALICIOUS_CODE EI_EXPOSE_REP2 118 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.AutoPanAnimationPanel

Bug Category Details Line Priority
Unwritten field: nl.tudelft.simulation.dsol.swing.animation.d2.AutoPanAnimationPanel.lastFollowedObject CORRECTNESS UWF_UNWRITTEN_FIELD 212 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.InputListener

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.animation.d2.InputListener(VisualizationPanel) may expose internal representation by storing an externally mutable object into InputListener.panel MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel at new nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel(Bounds2d, EventProducer) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 225 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel at new nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel(Bounds2d, EventProducer, ContextInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 239 Medium
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getAnimationEventProducer() may expose internal representation by returning VisualizationPanel.animationEventProducer MALICIOUS_CODE EI_EXPOSE_REP 1001 Medium
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getDragLine() may expose internal representation by returning VisualizationPanel.dragLine MALICIOUS_CODE EI_EXPOSE_REP 945 Medium
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getElements() may expose internal representation by returning VisualizationPanel.elements MALICIOUS_CODE EI_EXPOSE_REP 969 Medium
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.extent; locked 92% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 404 Medium
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.renderableScale; locked 66% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 676 Medium
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.isShowClass(Class) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 329 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel$AnimationEventProducer

Bug Category Details Line Priority
Should nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel$AnimationEventProducer be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 982-992 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.HomeAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.HomeAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 40 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.HomeAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into HomeAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanDownAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanDownAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 42 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanDownAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into PanDownAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanLeftAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanLeftAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 41 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanLeftAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into PanLeftAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanRightAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanRightAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 41 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanRightAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into PanRightAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanUpAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanUpAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 40 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.PanUpAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into PanUpAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.ShowGridAction

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.ShowGridAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into ShowGridAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomInAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomInAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 40 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomInAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into ZoomInAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomOutAction

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in new nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomOutAction(VisualizationPanel) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 41 Medium
new nl.tudelft.simulation.dsol.swing.animation.d2.actions.ZoomOutAction(VisualizationPanel) may expose internal representation by storing an externally mutable object into ZoomOutAction.panel MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerChart

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerChart.getChart() may expose internal representation by returning BoxAndWhiskerChart.chart MALICIOUS_CODE EI_EXPOSE_REP 116 Medium

nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerPlot

Bug Category Details Line Priority
int value cast to float and then passed to Math.round in nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerPlot.paintTally(Graphics2D, Rectangle2D, TallyStatistic, double, double, double) CORRECTNESS ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND 239 Medium

nl.tudelft.simulation.dsol.swing.charts.histogram.Histogram

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.charts.histogram.Histogram.getChart() may expose internal representation by returning Histogram.chart MALICIOUS_CODE EI_EXPOSE_REP 171 Medium
nl.tudelft.simulation.dsol.swing.charts.histogram.Histogram.getDataset() may expose internal representation by returning Histogram.dataset MALICIOUS_CODE EI_EXPOSE_REP 189 Medium

nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDataset

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDataset(Comparable, double[], double[], int) may expose internal representation by storing an externally mutable object into HistogramDataset.domain MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium
new nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDataset(Comparable, double[], double[], int) may expose internal representation by storing an externally mutable object into HistogramDataset.range MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium
nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDataset doesn't override org.jfree.data.statistics.SimpleHistogramDataset.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDomainAxis

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramDomainAxis doesn't override org.jfree.chart.axis.NumberAxis.equals(Object) STYLE EQ_DOESNT_OVERRIDE_EQUALS 1 Medium

nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramSeries$Bin

Bug Category Details Line Priority
Should nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramSeries$Bin be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 178-278 Medium

nl.tudelft.simulation.dsol.swing.charts.xy.XYChart

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.charts.xy.XYChart at new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 194 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.charts.xy.XYChart at new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, double, short) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 218 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.charts.xy.XYChart at new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, 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 242 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.charts.xy.XYChart at new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, double[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 183 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.charts.xy.XYChart at new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, double[], short) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 206 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.charts.xy.XYChart at new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, 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 230 Medium
nl.tudelft.simulation.dsol.swing.charts.xy.XYChart.getChart() may expose internal representation by returning XYChart.chart MALICIOUS_CODE EI_EXPOSE_REP 300 Medium
nl.tudelft.simulation.dsol.swing.charts.xy.XYChart.getDataset() may expose internal representation by returning XYChart.dataset MALICIOUS_CODE EI_EXPOSE_REP 319 Medium
new nl.tudelft.simulation.dsol.swing.charts.xy.XYChart(SimulatorInterface, String, double[], double[], short) may expose internal representation by storing an externally mutable object into XYChart.simulator MALICIOUS_CODE EI_EXPOSE_REP2 90 Medium

nl.tudelft.simulation.dsol.swing.charts.xy.XYDataset

Bug Category Details Line Priority
The class name nl.tudelft.simulation.dsol.swing.charts.xy.XYDataset shadows the simple name of implemented interface org.jfree.data.xy.XYDataset BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE 33-141 Medium

nl.tudelft.simulation.dsol.swing.charts.xy.XYSeries

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.charts.xy.XYSeries(String, SimulatorInterface, short, double) may expose internal representation by storing an externally mutable object into XYSeries.simulator MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium
nl.tudelft.simulation.dsol.swing.charts.xy.XYSeries.setFilter(FilterInterface) may expose internal representation by storing an externally mutable object into XYSeries.filter MALICIOUS_CODE EI_EXPOSE_REP2 190 Medium
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.charts.xy.XYSeries.filter; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 190 Medium

nl.tudelft.simulation.dsol.swing.gui.ConsoleLogger$ConsoleLogWriter

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.gui.ConsoleLogger$ConsoleLogWriter(JTextPane) may expose internal representation by storing an externally mutable object into ConsoleLogger$ConsoleLogWriter.textPane MALICIOUS_CODE EI_EXPOSE_REP2 165 Medium

nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput

Bug Category Details Line Priority
Found reliance on default encoding in new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput(): new java.io.PrintStream(OutputStream) I18N DM_DEFAULT_ENCODING 47 High

nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomErrorStream

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomErrorStream(JTextArea, PrintStream) may expose internal representation by storing an externally mutable object into ConsoleOutput$CustomErrorStream.standardErr MALICIOUS_CODE EI_EXPOSE_REP2 101 Medium
new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomErrorStream(JTextArea, PrintStream) may expose internal representation by storing an externally mutable object into ConsoleOutput$CustomErrorStream.textArea MALICIOUS_CODE EI_EXPOSE_REP2 100 Medium

nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomOutputStream

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomOutputStream(JTextArea, PrintStream) may expose internal representation by storing an externally mutable object into ConsoleOutput$CustomOutputStream.standardOut MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium
new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$CustomOutputStream(JTextArea, PrintStream) may expose internal representation by storing an externally mutable object into ConsoleOutput$CustomOutputStream.textArea MALICIOUS_CODE EI_EXPOSE_REP2 70 Medium

nl.tudelft.simulation.dsol.swing.gui.DsolApplication

Bug Category Details Line Priority
Found reliance on default encoding in new nl.tudelft.simulation.dsol.swing.gui.DsolApplication(DsolPanel, String): new java.io.FileReader(String) I18N DM_DEFAULT_ENCODING 127 High
nl.tudelft.simulation.dsol.swing.gui.DsolApplication.getDsolPanel() may expose internal representation by returning DsolApplication.panel MALICIOUS_CODE EI_EXPOSE_REP 338 Medium
new nl.tudelft.simulation.dsol.swing.gui.DsolApplication(DsolPanel, String) may expose internal representation by storing an externally mutable object into DsolApplication.panel MALICIOUS_CODE EI_EXPOSE_REP2 76 Medium
new nl.tudelft.simulation.dsol.swing.gui.DsolApplication(DsolPanel, String) may fail to clean up java.io.Reader EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 127 Medium
new nl.tudelft.simulation.dsol.swing.gui.DsolApplication(DsolPanel, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 127 Medium

nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2

Bug Category Details Line Priority
Found reliance on default encoding in nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2.windowClosing(WindowEvent): new java.io.FileWriter(File) I18N DM_DEFAULT_ENCODING 111 High
nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2.windowClosing(WindowEvent) may fail to clean up java.io.Writer EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 111 Medium
nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2.windowClosing(WindowEvent) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 111 Medium
Exceptional return value of java.io.File.mkdirs() ignored in nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2.windowClosing(WindowEvent) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 110 Medium

nl.tudelft.simulation.dsol.swing.gui.DsolApplication$SubMenuShower

Bug Category Details Line Priority
Should nl.tudelft.simulation.dsol.swing.gui.DsolApplication$SubMenuShower be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 372-388 Medium

nl.tudelft.simulation.dsol.swing.gui.DsolPanel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.DsolPanel.getControlPanel() may expose internal representation by returning DsolPanel.controlPanel MALICIOUS_CODE EI_EXPOSE_REP 137 Medium
nl.tudelft.simulation.dsol.swing.gui.DsolPanel.getTabbedPane() may expose internal representation by returning DsolPanel.tabbedPane MALICIOUS_CODE EI_EXPOSE_REP 120 Medium
new nl.tudelft.simulation.dsol.swing.gui.DsolPanel(AbstractControlPanel) may expose internal representation by storing an externally mutable object into DsolPanel.controlPanel MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium

nl.tudelft.simulation.dsol.swing.gui.HtmlPanel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.HtmlPanel at new nl.tudelft.simulation.dsol.swing.gui.HtmlPanel() 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
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.HtmlPanel at new nl.tudelft.simulation.dsol.swing.gui.HtmlPanel(URL) 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

nl.tudelft.simulation.dsol.swing.gui.InputParametersTab

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.InputParametersTab at new nl.tudelft.simulation.dsol.swing.gui.InputParametersTab(DsolModel) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 45 Medium

nl.tudelft.simulation.dsol.swing.gui.TablePanel

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive nl.tudelft.simulation.dsol.swing.gui.TablePanel.main(String[]) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 177 High

nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationApplication

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationApplication.getAnimationTab() may expose internal representation by returning DsolAnimationApplication.animationTab MALICIOUS_CODE EI_EXPOSE_REP 72 Medium
new nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationApplication(DsolPanel, String, DsolAnimationTab) may expose internal representation by storing an externally mutable object into DsolAnimationApplication.animationTab MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium

nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab at new nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab(SimulatorInterface, AnimationPanel) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 118 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab at new nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab(Bounds2d, SimulatorInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 102 Medium
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getAnimationPanel() may expose internal representation by returning DsolAnimationTab.animationPanel MALICIOUS_CODE EI_EXPOSE_REP 341 Medium
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getSearchPanel() may expose internal representation by returning DsolAnimationTab.searchPanel MALICIOUS_CODE EI_EXPOSE_REP 359 Medium
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getSimulator() may expose internal representation by returning DsolAnimationTab.simulator MALICIOUS_CODE EI_EXPOSE_REP 382 Medium
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getTogglePanel() may expose internal representation by returning DsolAnimationTab.togglePanel MALICIOUS_CODE EI_EXPOSE_REP 350 Medium
new nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab(SimulatorInterface, AnimationPanel) may expose internal representation by storing an externally mutable object into DsolAnimationTab.animationPanel MALICIOUS_CODE EI_EXPOSE_REP2 121 Medium
new nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab(SimulatorInterface, AnimationPanel) may expose internal representation by storing an externally mutable object into DsolAnimationTab.simulator MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.setSearchPanel(SearchPanel) may expose internal representation by storing an externally mutable object into DsolAnimationTab.searchPanel MALICIOUS_CODE EI_EXPOSE_REP2 202 Medium

nl.tudelft.simulation.dsol.swing.gui.animation.panel.ButtonPanel

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.gui.animation.panel.ButtonPanel(AnimationPanel) may expose internal representation by storing an externally mutable object into ButtonPanel.animationPanel MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

nl.tudelft.simulation.dsol.swing.gui.animation.panel.InfoTextPanel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.animation.panel.InfoTextPanel.getCoordinateFormatter() may expose internal representation by returning InfoTextPanel.coordinateFormatter MALICIOUS_CODE EI_EXPOSE_REP 107 Medium
new nl.tudelft.simulation.dsol.swing.gui.animation.panel.InfoTextPanel(AnimationPanel) may expose internal representation by storing an externally mutable object into InfoTextPanel.animationPanel MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium
nl.tudelft.simulation.dsol.swing.gui.animation.panel.InfoTextPanel.setCoordinateFormatter(NumberFormat) may expose internal representation by storing an externally mutable object into InfoTextPanel.coordinateFormatter MALICIOUS_CODE EI_EXPOSE_REP2 116 Medium

nl.tudelft.simulation.dsol.swing.gui.animation.panel.SearchPanel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.animation.panel.SearchPanel.getSearchPanelEventProducer() may expose internal representation by returning SearchPanel.searchPanelEventProducer MALICIOUS_CODE EI_EXPOSE_REP 278 Medium

nl.tudelft.simulation.dsol.swing.gui.animation.panel.SearchPanel$SearchPanelEventProducer

Bug Category Details Line Priority
Should nl.tudelft.simulation.dsol.swing.gui.animation.panel.SearchPanel$SearchPanelEventProducer be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 259-269 Medium

nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel at new nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel(DsolModel, SimulatorInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 95 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getClockPanel() may expose internal representation by returning AbstractControlPanel.clockPanel MALICIOUS_CODE EI_EXPOSE_REP 387 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getControlButtons() may expose internal representation by returning AbstractControlPanel.controlButtons MALICIOUS_CODE EI_EXPOSE_REP 440 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getControlButtonsPanel() may expose internal representation by returning AbstractControlPanel.controlButtonsPanel MALICIOUS_CODE EI_EXPOSE_REP 448 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getModel() may expose internal representation by returning AbstractControlPanel.model MALICIOUS_CODE EI_EXPOSE_REP 371 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getRunUntilPanel() may expose internal representation by returning AbstractControlPanel.runUntilPanel MALICIOUS_CODE EI_EXPOSE_REP 456 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getSimulator() may expose internal representation by returning AbstractControlPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP 379 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getSpeedPanel() may expose internal representation by returning AbstractControlPanel.speedPanel MALICIOUS_CODE EI_EXPOSE_REP 410 Medium
new nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel(DsolModel, SimulatorInterface) may expose internal representation by storing an externally mutable object into AbstractControlPanel.model MALICIOUS_CODE EI_EXPOSE_REP2 97 Medium
new nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel(DsolModel, SimulatorInterface) may expose internal representation by storing an externally mutable object into AbstractControlPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP2 98 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.setClockPanel(ClockPanel) may expose internal representation by storing an externally mutable object into AbstractControlPanel.clockPanel MALICIOUS_CODE EI_EXPOSE_REP2 401 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.setRunUntilPanel(RunUntilPanel) may expose internal representation by storing an externally mutable object into AbstractControlPanel.runUntilPanel MALICIOUS_CODE EI_EXPOSE_REP2 468 Medium
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.setSpeedPanel(SpeedPanel) may expose internal representation by storing an externally mutable object into AbstractControlPanel.speedPanel MALICIOUS_CODE EI_EXPOSE_REP2 424 Medium

nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel$DisposeOnCloseThread

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel$DisposeOnCloseThread(AbstractControlPanel, AbstractControlPanel) may expose internal representation by storing an externally mutable object into AbstractControlPanel$DisposeOnCloseThread.panel MALICIOUS_CODE EI_EXPOSE_REP2 173 Medium
new nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel$DisposeOnCloseThread(AbstractControlPanel, AbstractControlPanel) may expose internal representation by storing an externally mutable object into AbstractControlPanel$DisposeOnCloseThread.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 172 Medium

nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel.getSimulator() may expose internal representation by returning ClockPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP 123 Medium
new nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel(SimulatorInterface) may expose internal representation by storing an externally mutable object into ClockPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium

nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel$TimeUpdateTask

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel$TimeUpdateTask is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 88-106 Medium

nl.tudelft.simulation.dsol.swing.gui.control.RunSpeedSliderPanel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.control.RunSpeedSliderPanel at new nl.tudelft.simulation.dsol.swing.gui.control.RunSpeedSliderPanel(double, double, double, int, DevsSimulatorInterface) 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

nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel.getSimulator() may expose internal representation by returning RunUntilPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP 198 Medium
new nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel(SimulatorInterface, String, String) may expose internal representation by storing an externally mutable object into RunUntilPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium

nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel.getSimulator() may expose internal representation by returning SpeedPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP 123 Medium
new nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel(SimulatorInterface) may expose internal representation by storing an externally mutable object into SpeedPanel.simulator MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium

nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel$TimeUpdateTask

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel$TimeUpdateTask is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 88-106 Medium

nl.tudelft.simulation.dsol.swing.gui.inputparameters.TabbedParameterDialog

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.inputparameters.TabbedParameterDialog at new nl.tudelft.simulation.dsol.swing.gui.inputparameters.TabbedParameterDialog(InputParameterMap) 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

nl.tudelft.simulation.dsol.swing.gui.util.Icons

Bug Category Details Line Priority
Do not catch NullPointerException like in nl.tudelft.simulation.dsol.swing.gui.util.Icons.loadGrayscaleIcon(String) STYLE DCN_NULLPOINTER_EXCEPTION 57 Medium
Do not catch NullPointerException like in nl.tudelft.simulation.dsol.swing.gui.util.Icons.loadIcon(String) STYLE DCN_NULLPOINTER_EXCEPTION 39 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel at new nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel(Property) 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 nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel at new nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel(Property, Introspector) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 98 Medium
new nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel(Property, Introspector) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 94 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel.getModelManager() may expose internal representation by returning CollectionTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP 348 Medium
new nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel(Property, Introspector) may expose internal representation by storing an externally mutable object into CollectionTableModel.parentProperty MALICIOUS_CODE EI_EXPOSE_REP2 117 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel.setModelManager(ModelManager) may expose internal representation by storing an externally mutable object into CollectionTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP2 337 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field CollectionTableModel.manager BAD_PRACTICE SE_BAD_FIELD_STORE 66 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel$CollectionProperty

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel$CollectionProperty.getValue() invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 412 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.ExpandButton

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.introspection.gui.ExpandButton(Property, IntrospectingTableModelInterface) may expose internal representation by storing an externally mutable object into ExpandButton.PROPERTY MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.ExpandButton.setMyJTable(JTable) may expose internal representation by storing an externally mutable object into ExpandButton.myTable MALICIOUS_CODE EI_EXPOSE_REP2 79 Medium
Exception is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.gui.ExpandButton.instantiateTable() STYLE REC_CATCH_EXCEPTION 153 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel at new nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel(Property) 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 nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel at new nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel(Property, Introspector) 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
new nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel(Property, Introspector) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 87 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel.getModelManager() may expose internal representation by returning ImmutableCollectionTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP 266 Medium
new nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel(Property, Introspector) may expose internal representation by storing an externally mutable object into ImmutableCollectionTableModel.parentProperty MALICIOUS_CODE EI_EXPOSE_REP2 110 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel.setModelManager(ModelManager) may expose internal representation by storing an externally mutable object into ImmutableCollectionTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP2 255 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field ImmutableCollectionTableModel.manager BAD_PRACTICE SE_BAD_FIELD_STORE 59 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel$ImmutableCollectionProperty

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel$ImmutableCollectionProperty.getValue() invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 323 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog at new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(Frame, Object, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 108 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog at new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(Window, Object) 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
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog at new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(Window, String, JTable) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 131 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog at new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(Window, String, IntrospectingTableModelInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 97 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog at new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(Object, 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
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog at new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(String, JTable) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 118 Medium
new nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog(Window, String, JTable) may expose internal representation by storing an externally mutable object into IntrospectionDialog.parent MALICIOUS_CODE EI_EXPOSE_REP2 130 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel.getModelManager() may expose internal representation by returning MapTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP 272 Medium
new nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel(Property, Introspector) may expose internal representation by storing an externally mutable object into MapTableModel.parentProperty MALICIOUS_CODE EI_EXPOSE_REP2 103 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel.setModelManager(ModelManager) may expose internal representation by storing an externally mutable object into MapTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP2 261 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field MapTableModel.manager BAD_PRACTICE SE_BAD_FIELD_STORE 57 Medium
new nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel(Property, Introspector) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 92 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel$MapProperty

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.gui.MapTableModel$MapProperty.getValue() invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 329 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable at new nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable(IntrospectingTableModelInterface) 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
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable at new nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable(IntrospectingTableModelInterface, TableColumnModel) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 95 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable at new nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable(IntrospectingTableModelInterface, TableColumnModel, ListSelectionModel) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 108 Medium
Exception thrown in class nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable at new nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable(IntrospectingTableModelInterface, CellPresentationConfiguration) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 83 Medium
Exception is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable.initConfig() STYLE REC_CATCH_EXCEPTION 206 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel.getValueAt(int, int) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 103 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel.getModelManager() may expose internal representation by returning ObjectTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP 232 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel.setModelManager(ModelManager) may expose internal representation by storing an externally mutable object into ObjectTableModel.manager MALICIOUS_CODE EI_EXPOSE_REP2 222 Medium
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field ObjectTableModel.manager BAD_PRACTICE SE_BAD_FIELD_STORE 40 Medium

nl.tudelft.simulation.dsol.swing.introspection.gui.UpdateTimer

Bug Category Details Line Priority
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.introspection.gui.UpdateTimer.components; locked 72% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 96 Medium
Possible null pointer dereference in nl.tudelft.simulation.dsol.swing.introspection.gui.UpdateTimer.remove(Component) due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 68 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.ArrayRenderer

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.mapping.ArrayRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) STYLE REC_CATCH_EXCEPTION 51 Medium
nl.tudelft.simulation.dsol.swing.introspection.mapping.ArrayRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 48 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration

Bug Category Details Line Priority
Public static nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration.getDefaultConfiguration() may expose internal representation by returning DefaultConfiguration.defaultConfig MALICIOUS_CODE MS_EXPOSE_REP 66 Medium
Instance-getter method of class using singleton design pattern (nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration) is not synchronized. CORRECTNESS SING_SINGLETON_GETTER_NOT_SYNCHRONIZED 66 Medium
Class (nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration) using singleton design pattern has non-private constructor. CORRECTNESS SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR 32-59 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.ExpandButtonEditor

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.mapping.ExpandButtonEditor.getCellEditorValue() may expose internal representation by returning ExpandButtonEditor.component MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.ImmutableMapRenderer

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.mapping.ImmutableMapRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 45 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.MapRenderer

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.mapping.MapRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 42 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.MyColorEditor

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.mapping.MyColorEditor.getTableCellEditorComponent(JTable, Object, boolean, int, int) may expose internal representation by returning MyColorEditor.cellPanel MALICIOUS_CODE EI_EXPOSE_REP 99 Medium

nl.tudelft.simulation.dsol.swing.introspection.mapping.SwingCellEditor

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.mapping.SwingCellEditor.getCellEditorValue() may expose internal representation by returning SwingCellEditor.component MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
nl.tudelft.simulation.dsol.swing.introspection.mapping.SwingCellEditor.getTableCellEditorComponent(JTable, Object, boolean, int, int) may expose internal representation by storing an externally mutable object into SwingCellEditor.component MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingHeaderCell

Bug Category Details Line Priority
nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingHeaderCell.instanceCounter should be package protected MALICIOUS_CODE MS_PKGPROTECT 39 Medium
Write to static field nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingHeaderCell.instanceCounter from instance method new nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingHeaderCell(int) STYLE ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 56 Medium

nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingTableModel

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.introspection.sortable.SortingTableModel(TableModel) may expose internal representation by storing an externally mutable object into SortingTableModel.source MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium

nl.tudelft.simulation.dsol.swing.statistics.StatisticsTable

Bug Category Details Line Priority
new nl.tudelft.simulation.dsol.swing.statistics.StatisticsTable(StatisticsTableModel) may expose internal representation by storing an externally mutable object into StatisticsTable.table MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium