SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.9.1
Threshold is medium
Effort is default
Summary
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
194 | 185 | 0 | 0 |
Files
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 | 50 | 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 | 52 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Shared primitive variable "running" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 87 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread.getUpdateFrequency() may expose internal representation by returning AnimationUpdaterThread.updateFrequency | MALICIOUS_CODE | EI_EXPOSE_REP | 107 | 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 | 54 | 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 | 116 | 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 | 207 | 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 | 46 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Shared primitive variable "dragLineEnabled" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 312 | Medium |
Shared primitive variable "dragLineEnabled" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 1079 | Medium |
Shared primitive variable "showGrid" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 557 | 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) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 233 | 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 | 247 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getAnimationEventProducer() may expose internal representation by returning VisualizationPanel.animationEventProducer | MALICIOUS_CODE | EI_EXPOSE_REP | 1118 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getDragLine() may expose internal representation by returning VisualizationPanel.dragLine | MALICIOUS_CODE | EI_EXPOSE_REP | 1063 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getElements() may expose internal representation by returning VisualizationPanel.elements | MALICIOUS_CODE | EI_EXPOSE_REP | 1087 | Medium |
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.extent; locked 87% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 977 | Medium |
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.renderableScale; locked 68% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 761 | 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 | 349 | 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 | 1100-1109 | 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 | 39 | 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 | 37 | 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 | 41 | 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 | 39 | 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 | 40 | 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 | 38 | 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 | 40 | 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 | 38 | 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 | 39 | 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 | 38 | 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 | 33 | 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 | 39 | 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 | 38 | 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 | 40 | 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 | 38 | 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 | 115 | Medium |
nl.tudelft.simulation.dsol.swing.charts.boxwhisker.BoxAndWhiskerPlot
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
This write of the 64-bit primitive variable "confidenceInterval" may not atomic | MT_CORRECTNESS | AT_NONATOMIC_64BIT_PRIMITIVE | 295 | Medium |
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 | 236 | 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 | 170 | Medium |
nl.tudelft.simulation.dsol.swing.charts.histogram.Histogram.getDataset() may expose internal representation by returning Histogram.dataset | MALICIOUS_CODE | EI_EXPOSE_REP | 187 | 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 | 54 | 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 | 55 | 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 |
---|---|---|---|---|
Operation on the "observations" shared variable in "Bin" class is not atomic | MT_CORRECTNESS | AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE | 208 | Medium |
Shared primitive variable "fixed" in one thread may not yield the value of the most recent write from another thread | MT_CORRECTNESS | AT_STALE_THREAD_WRITE_OF_PRIMITIVE | 275 | Medium |
Should nl.tudelft.simulation.dsol.swing.charts.histogram.HistogramSeries$Bin be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 176-276 | 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 | 193 | 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 | 217 | 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 | 241 | 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 | 182 | 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 | 205 | 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 | 229 | Medium |
nl.tudelft.simulation.dsol.swing.charts.xy.XYChart.getChart() may expose internal representation by returning XYChart.chart | MALICIOUS_CODE | EI_EXPOSE_REP | 299 | Medium |
nl.tudelft.simulation.dsol.swing.charts.xy.XYChart.getDataset() may expose internal representation by returning XYChart.dataset | MALICIOUS_CODE | EI_EXPOSE_REP | 317 | 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 | 89 | 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 | 32-131 | 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 | 70 | 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 | 188 | Medium |
Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.charts.xy.XYSeries.filter; locked 50% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 188 | 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 | 164 | 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 | 100 | 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 | 99 | 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 | 333 | 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 | 367-381 | 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 | 40 | 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 | 50 | 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 | 176 | 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.DsolAnimationGisTab
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
The method 'createAutoPanTab(Bounds2d, SimulatorInterface)' in class 'DsolAnimationGisTab' hides a method in class 'DsolAnimationTab'. Declare the respective methods non-static or private to eradicate the problem. | CORRECTNESS | HSM_HIDING_METHOD | 85 | 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 | 340 | Medium |
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getSearchPanel() may expose internal representation by returning DsolAnimationTab.searchPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 358 | Medium |
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getSimulator() may expose internal representation by returning DsolAnimationTab.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 381 | Medium |
nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getTogglePanel() may expose internal representation by returning DsolAnimationTab.togglePanel | MALICIOUS_CODE | EI_EXPOSE_REP | 349 | 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 | 268 | 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 | 250-259 | 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 | 384 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getControlButtons() may expose internal representation by returning AbstractControlPanel.controlButtons | MALICIOUS_CODE | EI_EXPOSE_REP | 437 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getControlButtonsPanel() may expose internal representation by returning AbstractControlPanel.controlButtonsPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 445 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getModel() may expose internal representation by returning AbstractControlPanel.model | MALICIOUS_CODE | EI_EXPOSE_REP | 368 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getRunUntilPanel() may expose internal representation by returning AbstractControlPanel.runUntilPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 453 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getSimulator() may expose internal representation by returning AbstractControlPanel.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 376 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getSpeedPanel() may expose internal representation by returning AbstractControlPanel.speedPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 407 | 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 | 398 | 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 | 465 | 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 | 421 | 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 | 121 | 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-104 | 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 | 197 | 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 | 121 | 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-104 | 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 | 76 | 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 | 97 | Medium |
new nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel(Property, Introspector) invokes inefficient new String(String) constructor | PERFORMANCE | DM_STRING_CTOR | 93 | Medium |
nl.tudelft.simulation.dsol.swing.introspection.gui.CollectionTableModel.getModelManager() may expose internal representation by returning CollectionTableModel.manager | MALICIOUS_CODE | EI_EXPOSE_REP | 334 | 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 | 116 | 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 | 323 | Medium |
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field CollectionTableModel.manager | BAD_PRACTICE | SE_BAD_FIELD_STORE | 65 | 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 | 393 | 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 | 57 | 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 | 78 | Medium |
Exception is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.gui.ExpandButton.instantiateTable() | STYLE | REC_CATCH_EXCEPTION | 152 | 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 | 69 | 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 | 90 | Medium |
new nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel(Property, Introspector) invokes inefficient new String(String) constructor | PERFORMANCE | DM_STRING_CTOR | 86 | Medium |
nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel.getModelManager() may expose internal representation by returning ImmutableCollectionTableModel.manager | MALICIOUS_CODE | EI_EXPOSE_REP | 256 | 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 | 109 | 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 | 245 | Medium |
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field ImmutableCollectionTableModel.manager | BAD_PRACTICE | SE_BAD_FIELD_STORE | 58 | 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 | 309 | 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 | 107 | 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 | 64 | 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 | 130 | 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 | 96 | 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 | 75 | 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 | 117 | 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 | 129 | 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 | 262 | 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 | 102 | 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 | 251 | Medium |
nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field MapTableModel.manager | BAD_PRACTICE | SE_BAD_FIELD_STORE | 56 | 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 | 91 | 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 | 315 | 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 | 70 | 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 | 94 | 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 | 107 | 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 | 82 | Medium |
Exception is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable.initConfig() | STYLE | REC_CATCH_EXCEPTION | 203 | 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 | 100 | Medium |
nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel.getModelManager() may expose internal representation by returning ObjectTableModel.manager | MALICIOUS_CODE | EI_EXPOSE_REP | 222 | 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 | 212 | 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 | 95 | 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 | 50 | 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 | 47 | 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 | 65 | Medium |
Class (nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration) using singleton design pattern has non-private constructor. | CORRECTNESS | SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR | 31-58 | 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 | 54 | 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 | 43 | 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 | 40 | 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 | 94 | 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 | 43 | 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 | 36 | 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 | 38 | 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 | 55 | 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 | 55 | 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 |