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
194 143 0 0

Files

Class Bugs
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationPanel 1
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 5
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 3
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.TablePanel 1
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationApplication 2
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab 7
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 12
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.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.util.Icons 2
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel 5
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 5
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel$ImmutableCollectionProperty 1
nl.tudelft.simulation.dsol.swing.introspection.gui.IntrospectionDialog 1
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 1
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 1
nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration 1
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
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
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
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.extent; locked 92% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 255 Medium
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.renderableScale; locked 66% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 255 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
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.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
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
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.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.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
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
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
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 is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable.initConfig() STYLE REC_CATCH_EXCEPTION 201 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.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 63 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