SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.9.8
Threshold is medium
Effort is default
Summary
| Classes | Bugs | Errors | Missing Classes |
|---|---|---|---|
| 196 | 179 | 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 | 47 | 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 | 49 | 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 | 75 | Medium |
| nl.tudelft.simulation.dsol.swing.animation.d2.AnimationUpdaterThread.getUpdateFrequency() may expose internal representation by returning AnimationUpdaterThread.updateFrequency | MALICIOUS_CODE | EI_EXPOSE_REP | 94 | 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 | 49 | 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 | 103 | 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 | 192 | 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 | 318 | 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 | 1105 | 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 | 561 | 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 | 253 | Medium |
| Dead store to mwc in nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.rotate(double, int, int) | STYLE | DLS_DEAD_LOCAL_STORE | 653 | Medium |
| nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getDragLine() may expose internal representation by returning VisualizationPanel.dragLine | MALICIOUS_CODE | EI_EXPOSE_REP | 1089 | Medium |
| nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.getElements() may expose internal representation by returning VisualizationPanel.elements | MALICIOUS_CODE | EI_EXPOSE_REP | 1113 | Medium |
| Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.extent; locked 88% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 1010 | Medium |
| Inconsistent synchronization of nl.tudelft.simulation.dsol.swing.animation.d2.VisualizationPanel.renderableScale; locked 76% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 795 | 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 | 356 | 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 | 1126-1132 | Medium |
nl.tudelft.simulation.dsol.swing.animation.d2.actions.HomeAction
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| 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 | 108 | 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 be atomic | MT_CORRECTNESS | AT_NONATOMIC_64BIT_PRIMITIVE | 291 | 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 | 232 | 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 | 163 | Medium |
| nl.tudelft.simulation.dsol.swing.charts.histogram.Histogram.getDataset() may expose internal representation by returning Histogram.dataset | MALICIOUS_CODE | EI_EXPOSE_REP | 180 | 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 |
|---|---|---|---|---|
| nl.tudelft.simulation.dsol.swing.charts.xy.XYChart.getChart() may expose internal representation by returning XYChart.chart | MALICIOUS_CODE | EI_EXPOSE_REP | 292 | Medium |
| nl.tudelft.simulation.dsol.swing.charts.xy.XYChart.getDataset() may expose internal representation by returning XYChart.dataset | MALICIOUS_CODE | EI_EXPOSE_REP | 310 | 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 | 85 | 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.language.filters.ZeroFilter stored into non-transient field XYSeries.filter | BAD_PRACTICE | SE_BAD_FIELD_STORE | 54 | 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 | 73 | High |
nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$BufferedConsoleStream
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Found reliance on default encoding in nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$BufferedConsoleStream.flush(): java.io.ByteArrayOutputStream.toString() | I18N | DM_DEFAULT_ENCODING | 181 | High |
| new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$BufferedConsoleStream(ConsoleOutput, JTextPane, PrintStream, boolean) may expose internal representation by storing an externally mutable object into ConsoleOutput$BufferedConsoleStream.consoleOutput | MALICIOUS_CODE | EI_EXPOSE_REP2 | 156 | Medium |
| new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$BufferedConsoleStream(ConsoleOutput, JTextPane, PrintStream, boolean) may expose internal representation by storing an externally mutable object into ConsoleOutput$BufferedConsoleStream.original | MALICIOUS_CODE | EI_EXPOSE_REP2 | 154 | Medium |
| new nl.tudelft.simulation.dsol.swing.gui.ConsoleOutput$BufferedConsoleStream(ConsoleOutput, JTextPane, PrintStream, boolean) may expose internal representation by storing an externally mutable object into ConsoleOutput$BufferedConsoleStream.textPane | MALICIOUS_CODE | EI_EXPOSE_REP2 | 153 | 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 | 126 | High |
| nl.tudelft.simulation.dsol.swing.gui.DsolApplication.getDsolPanel() may expose internal representation by returning DsolApplication.panel | MALICIOUS_CODE | EI_EXPOSE_REP | 332 | 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 | 75 | Medium |
| new nl.tudelft.simulation.dsol.swing.gui.DsolApplication(DsolPanel, String) may fail to clean up java.io.Reader | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 126 | Medium |
| new nl.tudelft.simulation.dsol.swing.gui.DsolApplication(DsolPanel, String) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 126 | 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 | 110 | High |
| nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2.windowClosing(WindowEvent) may fail to clean up java.io.Writer | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 110 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.DsolApplication$2.windowClosing(WindowEvent) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 110 | 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 | 109 | 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 | 366-380 | 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 | 148 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.DsolPanel.getTabbedPane() may expose internal representation by returning DsolPanel.tabbedPane | MALICIOUS_CODE | EI_EXPOSE_REP | 131 | 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 | 56 | 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 | 35 | 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 | 45 | 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.LoggerConsole$JConsoleAppender
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new nl.tudelft.simulation.dsol.swing.gui.LoggerConsole$JConsoleAppender(LoggerConsole, String, LoggerContext) may expose internal representation by storing an externally mutable object into LoggerConsole$JConsoleAppender.ctx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 172 | Medium |
| new nl.tudelft.simulation.dsol.swing.gui.LoggerConsole$JConsoleAppender(LoggerConsole, String, LoggerContext) may expose internal representation by storing an externally mutable object into LoggerConsole$JConsoleAppender.loggerConsole | MALICIOUS_CODE | EI_EXPOSE_REP2 | 170 | Medium |
nl.tudelft.simulation.dsol.swing.gui.LoggerConsole$JConsoleAppenderFactory
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new nl.tudelft.simulation.dsol.swing.gui.LoggerConsole$JConsoleAppenderFactory(LoggerConsole) may expose internal representation by storing an externally mutable object into LoggerConsole$JConsoleAppenderFactory.loggerConsole | MALICIOUS_CODE | EI_EXPOSE_REP2 | 201 | 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 | 67 | 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 | 56 | 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 | 79 | 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 | 114 | 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 | 100 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getAnimationPanel() may expose internal representation by returning DsolAnimationTab.animationPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 334 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getSearchPanel() may expose internal representation by returning DsolAnimationTab.searchPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 352 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getSimulator() may expose internal representation by returning DsolAnimationTab.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 375 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.animation.DsolAnimationTab.getTogglePanel() may expose internal representation by returning DsolAnimationTab.togglePanel | MALICIOUS_CODE | EI_EXPOSE_REP | 343 | 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 | 117 | 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 | 116 | 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 | 196 | 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 | 104 | 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 | 54 | 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 | 113 | 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-256 | 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 | 93 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getClockPanel() may expose internal representation by returning AbstractControlPanel.clockPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 415 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getControlButtons() may expose internal representation by returning AbstractControlPanel.controlButtons | MALICIOUS_CODE | EI_EXPOSE_REP | 468 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getControlButtonsPanel() may expose internal representation by returning AbstractControlPanel.controlButtonsPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 476 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getModel() may expose internal representation by returning AbstractControlPanel.model | MALICIOUS_CODE | EI_EXPOSE_REP | 399 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getRunUntilPanel() may expose internal representation by returning AbstractControlPanel.runUntilPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 484 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getSimulator() may expose internal representation by returning AbstractControlPanel.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 407 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel.getSpeedPanel() may expose internal representation by returning AbstractControlPanel.speedPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 438 | 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 | 95 | 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 | 96 | 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 | 429 | 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 | 496 | 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 | 452 | 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 | 188 | 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 | 187 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel at new nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel(SimulatorInterface, Supplier) 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 |
| nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel.getSimulator() may expose internal representation by returning ClockPanel.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 161 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel.getTimeLabel() may expose internal representation by returning ClockPanel.timeLabel | MALICIOUS_CODE | EI_EXPOSE_REP | 152 | Medium |
| new nl.tudelft.simulation.dsol.swing.gui.control.ClockPanel(SimulatorInterface, Supplier) may expose internal representation by storing an externally mutable object into ClockPanel.simulator | MALICIOUS_CODE | EI_EXPOSE_REP2 | 70 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.RealTimeControlPanel
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| new nl.tudelft.simulation.dsol.swing.gui.control.RealTimeControlPanel(DsolModel, DevsRealTimeAnimator, RunSpeedSliderPanel) may expose internal representation by storing an externally mutable object into RealTimeControlPanel.runSpeedSliderPanel | MALICIOUS_CODE | EI_EXPOSE_REP2 | 72 | 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(List, List, DevsSimulatorInterface, double) 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 |
| Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.control.RunSpeedSliderPanel at new nl.tudelft.simulation.dsol.swing.gui.control.RunSpeedSliderPanel(SortedMap, DevsSimulatorInterface, double) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 86 | Medium |
nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel at new nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel(SimulatorInterface, String, String) 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 |
| nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel.getSimulator() may expose internal representation by returning RunUntilPanel.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 222 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.RunUntilPanel.getTextField() may expose internal representation by returning RunUntilPanel.textField | MALICIOUS_CODE | EI_EXPOSE_REP | 231 | 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 |
|---|---|---|---|---|
| Exception thrown in class nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel at new nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel(SimulatorInterface) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. | BAD_PRACTICE | CT_CONSTRUCTOR_THROW | 61 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel.getSimulator() may expose internal representation by returning SpeedPanel.simulator | MALICIOUS_CODE | EI_EXPOSE_REP | 152 | Medium |
| nl.tudelft.simulation.dsol.swing.gui.control.SpeedPanel.getSpeedLabel() may expose internal representation by returning SpeedPanel.speedLabel | MALICIOUS_CODE | EI_EXPOSE_REP | 143 | 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.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 | 97 | 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 | 59 | Medium |
| Do not catch NullPointerException like in nl.tudelft.simulation.dsol.swing.gui.util.Icons.loadIcon(String) | STYLE | DCN_NULLPOINTER_EXCEPTION | 41 | 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 | 66 | 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 | 87 | Medium |
| new nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel(Property, Introspector) invokes inefficient new String(String) constructor | PERFORMANCE | DM_STRING_CTOR | 83 | Medium |
| nl.tudelft.simulation.dsol.swing.introspection.gui.ImmutableCollectionTableModel.getModelManager() may expose internal representation by returning ImmutableCollectionTableModel.manager | MALICIOUS_CODE | EI_EXPOSE_REP | 253 | 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 | 106 | 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 | 242 | Medium |
| nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field ImmutableCollectionTableModel.manager | BAD_PRACTICE | SE_BAD_FIELD_STORE | 55 | 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 | 306 | 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 | 104 | 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 | 61 | 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 | 127 | 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 | 93 | 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 | 72 | 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 | 114 | 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 | 126 | 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 | 259 | 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 | 99 | 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 | 248 | Medium |
| nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field MapTableModel.manager | BAD_PRACTICE | SE_BAD_FIELD_STORE | 53 | 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 | 88 | 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 | 312 | 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 | 67 | 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 | 91 | 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 | 104 | 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 | 79 | Medium |
| Exception is caught when Exception is not thrown in nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectJTable.initConfig() | STYLE | REC_CATCH_EXCEPTION | 200 | 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 | 98 | Medium |
| nl.tudelft.simulation.dsol.swing.introspection.gui.ObjectTableModel.getModelManager() may expose internal representation by returning ObjectTableModel.manager | MALICIOUS_CODE | EI_EXPOSE_REP | 220 | 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 | 210 | Medium |
| nl.tudelft.simulation.dsol.swing.introspection.gui.DefaultModelManager stored into non-transient field ObjectTableModel.manager | BAD_PRACTICE | SE_BAD_FIELD_STORE | 38 | 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 | 69 | 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 | 47 | 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 | 44 | 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 | 64 | Medium |
| Class (nl.tudelft.simulation.dsol.swing.introspection.mapping.DefaultConfiguration) using singleton design pattern has non-private constructor. | CORRECTNESS | SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR | 30-57 | 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 | 40 | 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 | 91 | 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 | 40 | 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 | 33 | 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 | 53 | 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 | 36 | Medium |
