The following document contains the results of SpotBugs
SpotBugs Version is 4.7.0
Threshold is medium
Effort is default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
174 | 338 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Usage of GetResource in new org.woehlke.computer.kurzweil.ComputerKurzweilApplication(String[]) may be unsafe if class is extended | BAD_PRACTICE | UI_INHERITANCE_UNSAFE_GETRESOURCE | 48 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.application.ComputerKurzweilContext.getFrame() may expose internal representation by returning ComputerKurzweilContext.frame | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilContext.getProperties() may expose internal representation by returning ComputerKurzweilContext.properties | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilContext.getRandom() may expose internal representation by returning ComputerKurzweilContext.random | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
new org.woehlke.computer.kurzweil.application.ComputerKurzweilContext(ComputerKurzweilProperties, ComputerKurzweilFrame) may expose internal representation by storing an externally mutable object into ComputerKurzweilContext.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 33 | Medium |
new org.woehlke.computer.kurzweil.application.ComputerKurzweilContext(ComputerKurzweilProperties, ComputerKurzweilFrame) may expose internal representation by storing an externally mutable object into ComputerKurzweilContext.properties | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame.getJMenuBar() may expose internal representation by returning ComputerKurzweilFrame.jMenuBar | MALICIOUS_CODE | EI_EXPOSE_REP | 42 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame.getLayout() may expose internal representation by returning ComputerKurzweilFrame.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 45 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame.getPanelCopyright() may expose internal representation by returning ComputerKurzweilFrame.panelCopyright | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame.getPanelSubtitle() may expose internal representation by returning ComputerKurzweilFrame.panelSubtitle | MALICIOUS_CODE | EI_EXPOSE_REP | 44 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame.getTabbedPane() may expose internal representation by returning ComputerKurzweilFrame.tabbedPane | MALICIOUS_CODE | EI_EXPOSE_REP | 41 | Medium |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 72 | Low |
Overridable method getContentPane is called from constructor new org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 62 | Low |
Overridable method pack is called from constructor new org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 70 | Low |
Overridable method showMe is called from constructor new org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 73 | Low |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 25-163 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.lambda$new$0(ActionEvent) invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 34 | Low |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getCyclicCellularAutomatonMenuItem() may expose internal representation by returning ComputerKurzweilMenuBar.cyclicCellularAutomatonMenuItem | MALICIOUS_CODE | EI_EXPOSE_REP | 104 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getDiffusionLimitedAggregationMenuItem() may expose internal representation by returning ComputerKurzweilMenuBar.diffusionLimitedAggregationMenuItem | MALICIOUS_CODE | EI_EXPOSE_REP | 106 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getExitMenuItem() may expose internal representation by returning ComputerKurzweilMenuBar.exitMenuItem | MALICIOUS_CODE | EI_EXPOSE_REP | 117 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getFileMenu() may expose internal representation by returning ComputerKurzweilMenuBar.fileMenu | MALICIOUS_CODE | EI_EXPOSE_REP | 89 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getMandelbrotMenuItem() may expose internal representation by returning ComputerKurzweilMenuBar.mandelbrotMenuItem | MALICIOUS_CODE | EI_EXPOSE_REP | 107 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getRandomWalkMenuItem() may expose internal representation by returning ComputerKurzweilMenuBar.randomWalkMenuItem | MALICIOUS_CODE | EI_EXPOSE_REP | 105 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getSimulatedEvolutionMenuItem() may expose internal representation by returning ComputerKurzweilMenuBar.simulatedEvolutionMenuItem | MALICIOUS_CODE | EI_EXPOSE_REP | 108 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.getStartMenu() may expose internal representation by returning ComputerKurzweilMenuBar.startMenu | MALICIOUS_CODE | EI_EXPOSE_REP | 90 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) may fail to clean up java.io.InputStream | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 487 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 505 | Medium |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) | STYLE | REC_CATCH_EXCEPTION | 490 | Low |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) | STYLE | REC_CATCH_EXCEPTION | 510 | Low |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field allinone | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field cca | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field dla | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field gameoflive | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field kochsnowflake | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrot | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field randomwalk | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field samegame | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field sierpinskitriangle | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field simulatedevolution | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field tetris | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field turmite | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field wator | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 519 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Confusing to have methods org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$Allinone$View.getSubtitle() and org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl.getSubTitle() | BAD_PRACTICE | NM_CONFUSING | 62 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.commons.model.LatticeNeighbourhood.getNeighbourhood() may expose internal representation by returning LatticeNeighbourhood.neighbourhood | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.commons.model.LatticePointNeighbourhoodPosition$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 30 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.commons.model.fractal.GaussianNumberPlane(MandelbrotModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 67 | Low |
org.woehlke.computer.kurzweil.commons.model.fractal.GaussianNumberPlane.lattice is a volatile reference to an array; the array elements are non-volatile | MT_CORRECTNESS | VO_VOLATILE_REFERENCE_TO_ARRAY | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.commons.widgets.PanelStartStopButtons.getStartButton() may expose internal representation by returning PanelStartStopButtons.startButton | MALICIOUS_CODE | EI_EXPOSE_REP | 19 | Medium |
org.woehlke.computer.kurzweil.commons.widgets.PanelStartStopButtons.getStopButton() may expose internal representation by returning PanelStartStopButtons.stopButton | MALICIOUS_CODE | EI_EXPOSE_REP | 21 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.commons.widgets.PanelWithTitleBorder.getPanelStartStopButtonsLayout() may expose internal representation by returning PanelWithTitleBorder.panelStartStopButtonsLayout | MALICIOUS_CODE | EI_EXPOSE_REP | 17 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl.getLayout() may expose internal representation by returning SubTabImpl.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl.getProperties() may expose internal representation by returning SubTabImpl.properties | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
new org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl(String, String, String, Icon, int, ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into SubTabImpl.properties | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
new org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl(String, ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into SubTabImpl.properties | MALICIOUS_CODE | EI_EXPOSE_REP2 | 47 | Medium |
Overridable method getProperties is called from constructor new org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl(String, ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 48 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane.getApps() may expose internal representation by returning ComputerKurzweilTabbedPane.apps | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane.getCyclicCellularAutomatonTab() may expose internal representation by returning ComputerKurzweilTabbedPane.cyclicCellularAutomatonTab | MALICIOUS_CODE | EI_EXPOSE_REP | 37 | Medium |
org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane.getDiffusionLimitedAggregationTab() may expose internal representation by returning ComputerKurzweilTabbedPane.diffusionLimitedAggregationTab | MALICIOUS_CODE | EI_EXPOSE_REP | 39 | Medium |
org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane.getMandelbrotTab() may expose internal representation by returning ComputerKurzweilTabbedPane.mandelbrotTab | MALICIOUS_CODE | EI_EXPOSE_REP | 40 | Medium |
org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane.getRandomWalkTab() may expose internal representation by returning ComputerKurzweilTabbedPane.randomWalkTab | MALICIOUS_CODE | EI_EXPOSE_REP | 38 | Medium |
org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane.getSimulatedEvolutionTab() may expose internal representation by returning ComputerKurzweilTabbedPane.simulatedEvolutionTab | MALICIOUS_CODE | EI_EXPOSE_REP | 41 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.TabPanel.getLayout() may expose internal representation by returning TabPanel.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.TabPanel.getPanelSubtitle() may expose internal representation by returning TabPanel.panelSubtitle | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.TabPanel.getTabbedPane() may expose internal representation by returning TabPanel.tabbedPane | MALICIOUS_CODE | EI_EXPOSE_REP | 22 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab.getCanvas() may expose internal representation by returning CyclicCellularAutomatonTab.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab.getCyclicCellularAutomatonTabPane() may expose internal representation by returning CyclicCellularAutomatonTab.cyclicCellularAutomatonTabPane | MALICIOUS_CODE | EI_EXPOSE_REP | 33 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab.getTabCtx() may expose internal representation by returning CyclicCellularAutomatonTab.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab.getTabModel() may expose internal representation by returning CyclicCellularAutomatonTab.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab(ComputerKurzweilTabbedPane). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 47 | Low |
Class org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 20-94 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.cca.canvas.CyclicCellularAutomatonCanvas.getCyclicCellularAutomatonModel() may expose internal representation by returning CyclicCellularAutomatonCanvas.cyclicCellularAutomatonModel | MALICIOUS_CODE | EI_EXPOSE_REP | 49 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.canvas.CyclicCellularAutomatonCanvas.getLayout() may expose internal representation by returning CyclicCellularAutomatonCanvas.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 47 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.canvas.CyclicCellularAutomatonCanvas.getPreferredSize() may expose internal representation by returning CyclicCellularAutomatonCanvas.preferredSize | MALICIOUS_CODE | EI_EXPOSE_REP | 46 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.canvas.CyclicCellularAutomatonCanvas.getTabCtx() may expose internal representation by returning CyclicCellularAutomatonCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 44 | Medium |
new org.woehlke.computer.kurzweil.tabs.cca.canvas.CyclicCellularAutomatonCanvas(CyclicCellularAutomatonContext) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 57 | Medium |
Overridable method showMe is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.canvas.CyclicCellularAutomatonCanvas(CyclicCellularAutomatonContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 70 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.cca.config.CyclicCellularAutomatonContext.getCanvas() may expose internal representation by returning CyclicCellularAutomatonContext.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.CyclicCellularAutomatonContext.getController() may expose internal representation by returning CyclicCellularAutomatonContext.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.CyclicCellularAutomatonContext.getTab() may expose internal representation by returning CyclicCellularAutomatonContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.CyclicCellularAutomatonContext.getTabModel() may expose internal representation by returning CyclicCellularAutomatonContext.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
new org.woehlke.computer.kurzweil.tabs.cca.config.CyclicCellularAutomatonContext(CyclicCellularAutomatonTab) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 72 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 54 | High |
org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController.getTabCtx() may expose internal representation by returning CyclicCellularAutomatonController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 35 | Medium |
new org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController(CyclicCellularAutomatonContext) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 44 | Medium |
Synchronization on CyclicCellularAutomatonController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 73 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel.exec() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 51 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel.start() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 150 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel.stop() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 158 | High |
org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel.getLattice() may expose internal representation by returning CyclicCellularAutomatonModel.lattice | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel.getTabCtx() may expose internal representation by returning CyclicCellularAutomatonModel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 22 | Medium |
new org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel(CyclicCellularAutomatonContext) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonModel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 38 | Medium |
Overridable method resetLattice is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel(CyclicCellularAutomatonContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 44 | Low |
Overridable method startWithNeighbourhoodVonNeumann is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel(CyclicCellularAutomatonContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 43 | Low |
Synchronization on CyclicCellularAutomatonModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 151 | Medium |
Synchronization on CyclicCellularAutomatonModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 159 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonModel.lattice is a volatile reference to an array; the array elements are non-volatile | MT_CORRECTNESS | VO_VOLATILE_REFERENCE_TO_ARRAY | Not available | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.cca.views.CyclicCellularAutomatonTabPane.getPanelNeighbourhoodButtons() may expose internal representation by returning CyclicCellularAutomatonTabPane.panelNeighbourhoodButtons | MALICIOUS_CODE | EI_EXPOSE_REP | 22 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.CyclicCellularAutomatonTabPane.getStartStopButtonsPanel() may expose internal representation by returning CyclicCellularAutomatonTabPane.startStopButtonsPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.CyclicCellularAutomatonTabPane.getTab() may expose internal representation by returning CyclicCellularAutomatonTabPane.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
new org.woehlke.computer.kurzweil.tabs.cca.views.CyclicCellularAutomatonTabPane(CyclicCellularAutomatonTab) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonTabPane.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getBgroup() may expose internal representation by returning PanelNeighbourhoodButtons.bgroup | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getButtonMoore() may expose internal representation by returning PanelNeighbourhoodButtons.buttonMoore | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getButtonRestart() may expose internal representation by returning PanelNeighbourhoodButtons.buttonRestart | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getButtonVonNeumann() may expose internal representation by returning PanelNeighbourhoodButtons.buttonVonNeumann | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getButtonWoehlke() may expose internal representation by returning PanelNeighbourhoodButtons.buttonWoehlke | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getCanvas() may expose internal representation by returning PanelNeighbourhoodButtons.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons.getNeighborhoodLabel() may expose internal representation by returning PanelNeighbourhoodButtons.neighborhoodLabel | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
new org.woehlke.computer.kurzweil.tabs.cca.views.PanelNeighbourhoodButtons(CyclicCellularAutomatonCanvas) may expose internal representation by storing an externally mutable object into PanelNeighbourhoodButtons.canvas | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab.getCanvas() may expose internal representation by returning DiffusionLimitedAggregationTab.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab.getDiffusionLimitedAggregationTabPane() may expose internal representation by returning DiffusionLimitedAggregationTab.diffusionLimitedAggregationTabPane | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab.getTabCtx() may expose internal representation by returning DiffusionLimitedAggregationTab.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab.getTabModel() may expose internal representation by returning DiffusionLimitedAggregationTab.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
Class org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 18-79 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.dla.canvas.DiffusionLimitedAggregationCanvas.getLayout() may expose internal representation by returning DiffusionLimitedAggregationCanvas.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.canvas.DiffusionLimitedAggregationCanvas.getPreferredSize() may expose internal representation by returning DiffusionLimitedAggregationCanvas.preferredSize | MALICIOUS_CODE | EI_EXPOSE_REP | 42 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.canvas.DiffusionLimitedAggregationCanvas.getTabCtx() may expose internal representation by returning DiffusionLimitedAggregationCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 39 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.canvas.DiffusionLimitedAggregationCanvas.getTabModel() may expose internal representation by returning DiffusionLimitedAggregationCanvas.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 40 | Medium |
new org.woehlke.computer.kurzweil.tabs.dla.canvas.DiffusionLimitedAggregationCanvas(DiffusionLimitedAggregationContext) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 56 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.dla.config.DiffusionLimitedAggregationContext.getCanvas() may expose internal representation by returning DiffusionLimitedAggregationContext.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.config.DiffusionLimitedAggregationContext.getController() may expose internal representation by returning DiffusionLimitedAggregationContext.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.config.DiffusionLimitedAggregationContext.getTab() may expose internal representation by returning DiffusionLimitedAggregationContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.config.DiffusionLimitedAggregationContext.getTabModel() may expose internal representation by returning DiffusionLimitedAggregationContext.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
new org.woehlke.computer.kurzweil.tabs.dla.config.DiffusionLimitedAggregationContext(DiffusionLimitedAggregationTab) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 37 | Medium |
Overridable method startController is called from constructor new org.woehlke.computer.kurzweil.tabs.dla.config.DiffusionLimitedAggregationContext(DiffusionLimitedAggregationTab). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 41 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController.run() might ignore java.lang.Exception | BAD_PRACTICE | DE_MIGHT_IGNORE | 64 | High |
Dead store to $L2 in org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController.run() | STYLE | DLS_DEAD_LOCAL_STORE | 64 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 75 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 54 | High |
org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController.getTabCtx() may expose internal representation by returning DiffusionLimitedAggregationController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 37 | Medium |
new org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController(DiffusionLimitedAggregationContext) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 45 | Medium |
Synchronization on DiffusionLimitedAggregationController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 76 | Medium |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.tabs.dla.control.DiffusionLimitedAggregationController.run() | STYLE | REC_CATCH_EXCEPTION | 64 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.exec() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 87 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.start() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 64 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.stop() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 72 | High |
org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.getParticles() may expose internal representation by returning DiffusionLimitedAggregationModel.particles | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.getTabCtx() may expose internal representation by returning DiffusionLimitedAggregationModel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 20 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.getWorldMap() may expose internal representation by returning DiffusionLimitedAggregationModel.worldMap | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
new org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel(DiffusionLimitedAggregationContext) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationModel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
Synchronization on DiffusionLimitedAggregationModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 65 | Medium |
Synchronization on DiffusionLimitedAggregationModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 73 | Medium |
Switch statement found in org.woehlke.computer.kurzweil.tabs.dla.model.DiffusionLimitedAggregationModel.exec() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 101-112 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.dla.views.DiffusionLimitedAggregationTabPane.getStartStopButtonsPanel() may expose internal representation by returning DiffusionLimitedAggregationTabPane.startStopButtonsPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 21 | Medium |
org.woehlke.computer.kurzweil.tabs.dla.views.DiffusionLimitedAggregationTabPane.getTab() may expose internal representation by returning DiffusionLimitedAggregationTabPane.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
new org.woehlke.computer.kurzweil.tabs.dla.views.DiffusionLimitedAggregationTabPane(DiffusionLimitedAggregationTab) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationTabPane.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 26 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab.getCanvas() may expose internal representation by returning MandelbrotTab.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 36 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab.getMandelbrotModel() may expose internal representation by returning MandelbrotTab.mandelbrotModel | MALICIOUS_CODE | EI_EXPOSE_REP | 38 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab.getMandelbrotTabPane() may expose internal representation by returning MandelbrotTab.mandelbrotTabPane | MALICIOUS_CODE | EI_EXPOSE_REP | 37 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab.getTabCtx() may expose internal representation by returning MandelbrotTab.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 35 | Medium |
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab(ComputerKurzweilTabbedPane). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 52 | Low |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 27-124 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.canvas.MandelbrotCanvas.getLayout() may expose internal representation by returning MandelbrotCanvas.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 44 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.canvas.MandelbrotCanvas.getModel() may expose internal representation by returning MandelbrotCanvas.model | MALICIOUS_CODE | EI_EXPOSE_REP | 46 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.canvas.MandelbrotCanvas.getPreferredSize() may expose internal representation by returning MandelbrotCanvas.preferredSize | MALICIOUS_CODE | EI_EXPOSE_REP | 47 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.canvas.MandelbrotCanvas.getTabCtx() may expose internal representation by returning MandelbrotCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 42 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.canvas.MandelbrotCanvas(MandelbrotContext) may expose internal representation by storing an externally mutable object into MandelbrotCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 50 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.config.MandelbrotContext.getCanvas() may expose internal representation by returning MandelbrotContext.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.config.MandelbrotContext.getController() may expose internal representation by returning MandelbrotContext.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.config.MandelbrotContext.getTab() may expose internal representation by returning MandelbrotContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.config.MandelbrotContext.getTabModel() may expose internal representation by returning MandelbrotContext.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.config.MandelbrotContext(MandelbrotTab, ComputerKurzweilContext) may expose internal representation by storing an externally mutable object into MandelbrotContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 32 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L2 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.control.MandelbrotController.run() | STYLE | DLS_DEAD_LOCAL_STORE | 45 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.control.MandelbrotController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 51 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.control.MandelbrotController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 38 | High |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.control.MandelbrotController(MandelbrotModel, MandelbrotTab) may expose internal representation by storing an externally mutable object into MandelbrotController.mandelbrotModel | MALICIOUS_CODE | EI_EXPOSE_REP2 | 31 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.control.MandelbrotController(MandelbrotModel, MandelbrotTab) may expose internal representation by storing an externally mutable object into MandelbrotController.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 30 | Medium |
Synchronization on MandelbrotController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 52 | Medium |
Unread field: org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.control.MandelbrotController.THREAD_SLEEP_TIME; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 25 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel.getGaussianNumberPlane() may expose internal representation by returning MandelbrotModel.gaussianNumberPlane | MALICIOUS_CODE | EI_EXPOSE_REP | 102 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel.getMandelbrotTabStateMachine() may expose internal representation by returning MandelbrotModel.mandelbrotTabStateMachine | MALICIOUS_CODE | EI_EXPOSE_REP | 32 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel.getProperties() may expose internal representation by returning MandelbrotModel.properties | MALICIOUS_CODE | EI_EXPOSE_REP | 34 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel.getTab() may expose internal representation by returning MandelbrotModel.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 106 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel(ComputerKurzweilProperties, MandelbrotTab) may expose internal representation by storing an externally mutable object into MandelbrotModel.properties | MALICIOUS_CODE | EI_EXPOSE_REP2 | 38 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel(ComputerKurzweilProperties, MandelbrotTab) may expose internal representation by storing an externally mutable object into MandelbrotModel.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.MandelbrotModel$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 48 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.state.MandelbrotTabStateMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 28 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.MandelbrotTuringMachine(MandelbrotModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 30 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.MandelbrotTuringMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 41 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.y in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.moveDown() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 50 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.x in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.moveLeft() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 54 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.x in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.moveRight() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 46 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.y in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.Point.moveUp() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 42 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPhaseState(). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 21 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPositions.getTuringPosition() may expose internal representation by returning TuringPositions.turingPosition | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPositions(Point) may expose internal representation by storing an externally mutable object into TuringPositions.worldDimensions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 27 | Medium |
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPositions(Point). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 28 | Low |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPositions.goForward() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 47 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.turing.TuringPositions$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 48 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.MandelbrotTabPane.getStartStopButtonsPanel() may expose internal representation by returning MandelbrotTabPane.startStopButtonsPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 21 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.MandelbrotTabPane.getTab() may expose internal representation by returning MandelbrotTabPane.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.MandelbrotTabPane(MandelbrotTab) may expose internal representation by storing an externally mutable object into MandelbrotTabPane.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 26 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelButtons(MandelbrotModel) may expose internal representation by storing an externally mutable object into PanelButtons.model | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelButtons(MandelbrotModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 39 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode.getMandelbrotModel() may expose internal representation by returning PanelChooseMouseClickMode.mandelbrotModel | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode.getRadioButtonsGroup() may expose internal representation by returning PanelChooseMouseClickMode.radioButtonsGroup | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode.getRadioButtonsSwitch() may expose internal representation by returning PanelChooseMouseClickMode.radioButtonsSwitch | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode.getRadioButtonsZoom() may expose internal representation by returning PanelChooseMouseClickMode.radioButtonsZoom | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode.getTabCtx() may expose internal representation by returning PanelChooseMouseClickMode.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 21 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode(MandelbrotContext) may expose internal representation by storing an externally mutable object into PanelChooseMouseClickMode.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Overridable method getRadioButtonsSwitch is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode(MandelbrotContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 50 | Low |
Overridable method getRadioButtonsZoom is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelChooseMouseClickMode(MandelbrotContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 51 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelZoom.getTabCtx() may expose internal representation by returning PanelZoom.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 16 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelZoom.getZoomLevelField() may expose internal representation by returning PanelZoom.zoomLevelField | MALICIOUS_CODE | EI_EXPOSE_REP | 19 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelZoom.getZoomLevelFieldLabel() may expose internal representation by returning PanelZoom.zoomLevelFieldLabel | MALICIOUS_CODE | EI_EXPOSE_REP | 18 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelZoom.getZoomOutButton() may expose internal representation by returning PanelZoom.zoomOutButton | MALICIOUS_CODE | EI_EXPOSE_REP | 20 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.views.PanelZoom(MandelbrotContext) may expose internal representation by storing an externally mutable object into PanelZoom.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 27 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab.getCanvas() may expose internal representation by returning RandomWalkTab.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab.getRandomWalkTabPane() may expose internal representation by returning RandomWalkTab.randomWalkTabPane | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab.getTabCtx() may expose internal representation by returning RandomWalkTab.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab.getTabModel() may expose internal representation by returning RandomWalkTab.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab(ComputerKurzweilTabbedPane). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 41 | Low |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 18-80 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.randomwalk.canvas.RandomWalkCanvas.getLayout() may expose internal representation by returning RandomWalkCanvas.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 44 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.canvas.RandomWalkCanvas.getParticlePosition() may expose internal representation by returning RandomWalkCanvas.particlePosition | MALICIOUS_CODE | EI_EXPOSE_REP | 47 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.canvas.RandomWalkCanvas.getPreferredSize() may expose internal representation by returning RandomWalkCanvas.preferredSize | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.canvas.RandomWalkCanvas.getTabCtx() may expose internal representation by returning RandomWalkCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 40 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.canvas.RandomWalkCanvas.getTabModel() may expose internal representation by returning RandomWalkCanvas.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 41 | Medium |
new org.woehlke.computer.kurzweil.tabs.randomwalk.canvas.RandomWalkCanvas(RandomWalkContext) may expose internal representation by storing an externally mutable object into RandomWalkCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 55 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.randomwalk.config.RandomWalkContext.getCanvas() may expose internal representation by returning RandomWalkContext.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.config.RandomWalkContext.getController() may expose internal representation by returning RandomWalkContext.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.config.RandomWalkContext.getTab() may expose internal representation by returning RandomWalkContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.config.RandomWalkContext.getTabModel() may expose internal representation by returning RandomWalkContext.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
new org.woehlke.computer.kurzweil.tabs.randomwalk.config.RandomWalkContext(RandomWalkTab) may expose internal representation by storing an externally mutable object into RandomWalkContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.control.RandomWalkController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 73 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.control.RandomWalkController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 52 | High |
org.woehlke.computer.kurzweil.tabs.randomwalk.control.RandomWalkController.getTabCtx() may expose internal representation by returning RandomWalkController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 33 | Medium |
new org.woehlke.computer.kurzweil.tabs.randomwalk.control.RandomWalkController(RandomWalkContext) may expose internal representation by storing an externally mutable object into RandomWalkController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 42 | Medium |
Synchronization on RandomWalkController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 74 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.randomwalk.model.ParticleOrientation.getMove() may expose internal representation by returning ParticleOrientation.move | MALICIOUS_CODE | EI_EXPOSE_REP | 19 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.exec() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 48 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.start() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 80 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.stop() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 88 | High |
org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.getLattice() may expose internal representation by returning RandomWalkModel.lattice | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.getParticlePosition() may expose internal representation by returning RandomWalkModel.particlePosition | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.getPreferredSize() may expose internal representation by returning RandomWalkModel.preferredSize | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.getTabCtx() may expose internal representation by returning RandomWalkModel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 22 | Medium |
new org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel(RandomWalkContext) may expose internal representation by storing an externally mutable object into RandomWalkModel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 36 | Medium |
Synchronization on RandomWalkModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 81 | Medium |
Synchronization on RandomWalkModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 89 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.model.RandomWalkModel.lattice is a volatile reference to an array; the array elements are non-volatile | MT_CORRECTNESS | VO_VOLATILE_REFERENCE_TO_ARRAY | Not available | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.randomwalk.views.RandomWalkButtons.getCanvas() may expose internal representation by returning RandomWalkButtons.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.views.RandomWalkButtons.getLayout() may expose internal representation by returning RandomWalkButtons.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
new org.woehlke.computer.kurzweil.tabs.randomwalk.views.RandomWalkButtons(RandomWalkCanvas) may expose internal representation by storing an externally mutable object into RandomWalkButtons.canvas | MALICIOUS_CODE | EI_EXPOSE_REP2 | 32 | Medium |
Overridable method showMe is called from constructor new org.woehlke.computer.kurzweil.tabs.randomwalk.views.RandomWalkButtons(RandomWalkCanvas). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 39 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.randomwalk.views.RandomWalkTabPane(RandomWalkTab) may expose internal representation by storing an externally mutable object into RandomWalkTabPane.randomWalkTab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 22 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getCanvas() may expose internal representation by returning SimulatedEvolutionTab.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getTabCtx() may expose internal representation by returning SimulatedEvolutionTab.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getTabModel() may expose internal representation by returning SimulatedEvolutionTab.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getTabPane() may expose internal representation by returning SimulatedEvolutionTab.tabPane | MALICIOUS_CODE | EI_EXPOSE_REP | 32 | Medium |
Overridable method getCtx is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab(ComputerKurzweilTabbedPane). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 40 | Low |
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 21-116 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.SimulatedEvolutionCanvas.getLayout() may expose internal representation by returning SimulatedEvolutionCanvas.layout | MALICIOUS_CODE | EI_EXPOSE_REP | 49 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.SimulatedEvolutionCanvas.getPreferredSize() may expose internal representation by returning SimulatedEvolutionCanvas.preferredSize | MALICIOUS_CODE | EI_EXPOSE_REP | 50 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.SimulatedEvolutionCanvas.getTab() may expose internal representation by returning SimulatedEvolutionCanvas.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 51 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.SimulatedEvolutionCanvas.getTabCtx() may expose internal representation by returning SimulatedEvolutionCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 47 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.SimulatedEvolutionCanvas.getTabModel() may expose internal representation by returning SimulatedEvolutionCanvas.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 52 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.SimulatedEvolutionCanvas(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionCanvas.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 62 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.config.SimulatedEvolutionContext.getCanvas() may expose internal representation by returning SimulatedEvolutionContext.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 29 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.config.SimulatedEvolutionContext.getController() may expose internal representation by returning SimulatedEvolutionContext.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 32 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.config.SimulatedEvolutionContext.getTab() may expose internal representation by returning SimulatedEvolutionContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.config.SimulatedEvolutionContext.getTabModel() may expose internal representation by returning SimulatedEvolutionContext.tabModel | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.config.SimulatedEvolutionContext(SimulatedEvolutionTab, ComputerKurzweilContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionContext.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 38 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to threadSleepTime in org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController.run() | STYLE | DLS_DEAD_LOCAL_STORE | 72 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 101 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 75 | High |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController.getModel() may expose internal representation by returning SimulatedEvolutionController.model | MALICIOUS_CODE | EI_EXPOSE_REP | 51 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController.getTabCtx() may expose internal representation by returning SimulatedEvolutionController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 45 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController.getView() may expose internal representation by returning SimulatedEvolutionController.view | MALICIOUS_CODE | EI_EXPOSE_REP | 50 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.control.SimulatedEvolutionController(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionController.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 62 | Medium |
Synchronization on SimulatedEvolutionController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 102 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.exec() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 140 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.start() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 80 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.stop() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 88 | High |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.getAppCtx() may expose internal representation by returning SimulatedEvolutionModel.appCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 51 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.getPopulationContainer() may expose internal representation by returning SimulatedEvolutionModel.populationContainer | MALICIOUS_CODE | EI_EXPOSE_REP | 55 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.getWorldLattice() may expose internal representation by returning SimulatedEvolutionModel.worldLattice | MALICIOUS_CODE | EI_EXPOSE_REP | 52 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel.getWorldParameter() may expose internal representation by returning SimulatedEvolutionModel.worldParameter | MALICIOUS_CODE | EI_EXPOSE_REP | 56 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionModel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionModel.appCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 62 | Medium |
Synchronization on SimulatedEvolutionModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 81 | Medium |
Synchronization on SimulatedEvolutionModel.running in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 89 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.Cell.getPosition() may expose internal representation by returning Cell.position | MALICIOUS_CODE | EI_EXPOSE_REP | 121 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.Cell(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into Cell.appCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 62 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.Cell(CellCore, LatticePoint, CellOrientation, CellLifeCycle, SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into Cell.appCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 32 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.Cell(CellCore, LatticePoint, CellOrientation, CellLifeCycle, SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into Cell.position | MALICIOUS_CODE | EI_EXPOSE_REP2 | 32 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellCore(Integer[], ComputerKurzweilContext) may expose internal representation by storing an externally mutable object into CellCore.dna | MALICIOUS_CODE | EI_EXPOSE_REP2 | 26 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellLifeCycle.getCellConf() may expose internal representation by returning CellLifeCycle.cellConf | MALICIOUS_CODE | EI_EXPOSE_REP | 37 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellLifeCycle(ComputerKurzweilProperties$SimulatedEvolution$CellConf) may expose internal representation by storing an externally mutable object into CellLifeCycle.cellConf | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 | Medium |
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellLifeCycle defines non-transient non-serializable instance field cellConf | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellOrientation.getMove() may expose internal representation by returning CellOrientation.move | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to e in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer.getCurrentGeneration() | STYLE | DLS_DEAD_LOCAL_STORE | 102 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer.getCells() may expose internal representation by returning CellPopulationContainer.cells | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer.getStatistics() may expose internal representation by returning CellPopulationContainer.statistics | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer.getTabCtx() may expose internal representation by returning CellPopulationContainer.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into CellPopulationContainer.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
Overridable method createInitialPopulation is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer(SimulatedEvolutionContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 40 | Low |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer.getCurrentGeneration() | STYLE | REC_CATCH_EXCEPTION | 102 | |
Switch statement found in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer.countPopulation() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 64-81 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.CellPopulationContainer$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 64 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.world.WorldLattice.getAppCtx() may expose internal representation by returning WorldLattice.appCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 45 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.world.WorldLattice.getWorldMapFoodLattice() may expose internal representation by returning WorldLattice.worldMapFoodLattice | MALICIOUS_CODE | EI_EXPOSE_REP | 41 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.world.WorldLattice(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into WorldLattice.appCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 56 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel.getFullAgeCellsElement() may expose internal representation by returning GetPopulationLifeCyclePanel.fullAgeCellsElement | MALICIOUS_CODE | EI_EXPOSE_REP | 35 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel.getHungryCellsElement() may expose internal representation by returning GetPopulationLifeCyclePanel.hungryCellsElement | MALICIOUS_CODE | EI_EXPOSE_REP | 36 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel.getOldCellsElement() may expose internal representation by returning GetPopulationLifeCyclePanel.oldCellsElement | MALICIOUS_CODE | EI_EXPOSE_REP | 37 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel.getTabCtx() may expose internal representation by returning GetPopulationLifeCyclePanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel.getYoungAndFatCellsElement() may expose internal representation by returning GetPopulationLifeCyclePanel.youngAndFatCellsElement | MALICIOUS_CODE | EI_EXPOSE_REP | 34 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel.getYoungCellsElement() may expose internal representation by returning GetPopulationLifeCyclePanel.youngCellsElement | MALICIOUS_CODE | EI_EXPOSE_REP | 33 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GetPopulationLifeCyclePanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 46 | Medium |
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationLifeCyclePanel(SimulatedEvolutionContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 82 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationStatisticsPanel.getPopulationnField() may expose internal representation by returning GetPopulationStatisticsPanel.populationnField | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationStatisticsPanel.getTabCtx() may expose internal representation by returning GetPopulationStatisticsPanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationStatisticsPanel.getWorldIterationField() may expose internal representation by returning GetPopulationStatisticsPanel.worldIterationField | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationStatisticsPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GetPopulationStatisticsPanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 41 | Medium |
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.GetPopulationStatisticsPanel(SimulatedEvolutionContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 58 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel.getFoodPerDayDecreaseButton() may expose internal representation by returning SetFoodPerDayPanel.foodPerDayDecreaseButton | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel.getFoodPerDayIncreaseButton() may expose internal representation by returning SetFoodPerDayPanel.foodPerDayIncreaseButton | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel.getFoodPerDayInput() may expose internal representation by returning SetFoodPerDayPanel.foodPerDayInput | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel.getFoodPerDayLabel() may expose internal representation by returning SetFoodPerDayPanel.foodPerDayLabel | MALICIOUS_CODE | EI_EXPOSE_REP | 24 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel.getTabCtx() may expose internal representation by returning SetFoodPerDayPanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SetFoodPerDayPanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetFoodPerDayPanel(SimulatedEvolutionContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 47 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel.getBgroup() may expose internal representation by returning SetGardenOfEdenPanel.bgroup | MALICIOUS_CODE | EI_EXPOSE_REP | 27 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel.getButtonRestart() may expose internal representation by returning SetGardenOfEdenPanel.buttonRestart | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel.getGardenOfEdenDisabled() may expose internal representation by returning SetGardenOfEdenPanel.gardenOfEdenDisabled | MALICIOUS_CODE | EI_EXPOSE_REP | 26 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel.getGardenOfEdenEnabled() may expose internal representation by returning SetGardenOfEdenPanel.gardenOfEdenEnabled | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel.getTabCtx() may expose internal representation by returning SetGardenOfEdenPanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SetGardenOfEdenPanel.tabCtx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 32 | Medium |
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SetGardenOfEdenPanel(SimulatedEvolutionContext). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 42 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SimulatedEvolutionTabPane.getGardenOfEdenPanel() may expose internal representation by returning SimulatedEvolutionTabPane.gardenOfEdenPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 23 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SimulatedEvolutionTabPane.getSetFoodPerDayPanel() may expose internal representation by returning SimulatedEvolutionTabPane.setFoodPerDayPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 22 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SimulatedEvolutionTabPane.getStartStopButtonsPanel() may expose internal representation by returning SimulatedEvolutionTabPane.startStopButtonsPanel | MALICIOUS_CODE | EI_EXPOSE_REP | 25 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SimulatedEvolutionTabPane.getStatisticsPanelCounted() may expose internal representation by returning SimulatedEvolutionTabPane.statisticsPanelCounted | MALICIOUS_CODE | EI_EXPOSE_REP | 21 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SimulatedEvolutionTabPane.getStatisticsPanelPanelLifeCycle() may expose internal representation by returning SimulatedEvolutionTabPane.statisticsPanelPanelLifeCycle | MALICIOUS_CODE | EI_EXPOSE_REP | 20 | Medium |
Overridable method getStartStopButtonsPanel is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.SimulatedEvolutionTabPane(SimulatedEvolutionTab). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 45 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.population.PopulationStatisticsElement.getLabel() may expose internal representation by returning PopulationStatisticsElement.label | MALICIOUS_CODE | EI_EXPOSE_REP | 18 | Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.views.population.PopulationStatisticsElement.getStatistics() may expose internal representation by returning PopulationStatisticsElement.statistics | MALICIOUS_CODE | EI_EXPOSE_REP | 19 | Medium |