SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.0

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
131 120 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.SimulatedEvolutionApplication 3
org.woehlke.computer.kurzweil.application.ComputerKurzweilContext 3
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties 15
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$1 1
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$Allinone$View 1
org.woehlke.computer.kurzweil.commons.model.LatticeNeighbourhood 1
org.woehlke.computer.kurzweil.commons.model.LatticePointNeighbourhoodPosition$1 1
org.woehlke.computer.kurzweil.commons.widgets.PanelStartStopButtons 2
org.woehlke.computer.kurzweil.commons.widgets.PanelWithTitleBorder 1
org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl 5
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet 4
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionCanvas 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext 5
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController 5
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel 3
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab 9
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayDecreaseButton 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayIncreaseButton 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayLabel 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel 6
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayTextField 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenCheckBox 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanel 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanelRow 4
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenToggleButton 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElement 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted 9
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle 11
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Cell 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.CellCore 1
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Orientation 1
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation 1
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation$1 1
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer 5

org.woehlke.computer.kurzweil.SimulatedEvolutionApplication

Bug Category Details Line Priority
Dead store to simulatedEvolutionTab in new org.woehlke.computer.kurzweil.SimulatedEvolutionApplication(String[]) STYLE DLS_DEAD_LOCAL_STORE 28 Medium
Dead store to application in org.woehlke.computer.kurzweil.SimulatedEvolutionApplication.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 36 Medium
Usage of GetResource in new org.woehlke.computer.kurzweil.SimulatedEvolutionApplication(String[]) may be unsafe if class is extended BAD_PRACTICE UI_INHERITANCE_UNSAFE_GETRESOURCE 25 Low

org.woehlke.computer.kurzweil.application.ComputerKurzweilContext

Bug Category Details Line Priority
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) may expose internal representation by storing an externally mutable object into ComputerKurzweilContext.properties MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties

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 1020 Medium
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) STYLE REC_CATCH_EXCEPTION 1023 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

org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$1

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 1032 Medium

org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$Allinone$View

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 117 Low

org.woehlke.computer.kurzweil.commons.model.LatticeNeighbourhood

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

org.woehlke.computer.kurzweil.commons.model.LatticePointNeighbourhoodPosition$1

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

org.woehlke.computer.kurzweil.commons.widgets.PanelStartStopButtons

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

org.woehlke.computer.kurzweil.commons.widgets.PanelWithTitleBorder

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

org.woehlke.computer.kurzweil.commons.widgets.SubTabImpl

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

org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet.getCanvas() may expose internal representation by returning SimulatedEvolutionApplet.canvas MALICIOUS_CODE EI_EXPOSE_REP 44 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet.getSimulatedEvolutionController() may expose internal representation by returning SimulatedEvolutionApplet.simulatedEvolutionController MALICIOUS_CODE EI_EXPOSE_REP 39 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet.getTitle() may expose internal representation by returning SimulatedEvolutionApplet.title MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 25-75 Low

org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionCanvas

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionCanvas.getWorldDimensions() may expose internal representation by returning SimulatedEvolutionCanvas.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionCanvas(WorldPoint) may expose internal representation by storing an externally mutable object into SimulatedEvolutionCanvas.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext.getCanvas() may expose internal representation by returning SimulatedEvolutionContext.canvas MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext.getController() may expose internal representation by returning SimulatedEvolutionContext.controller MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext.getTab() may expose internal representation by returning SimulatedEvolutionContext.tab MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext(SimulatedEvolutionTab, ComputerKurzweilContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionContext.tab MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext.setController(SimulatedEvolutionController) may expose internal representation by storing an externally mutable object into SimulatedEvolutionContext.controller MALICIOUS_CODE EI_EXPOSE_REP2 30 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController

Bug Category Details Line Priority
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController.exit() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 69 High
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController.run() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 53 High
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController.setCanvas(SimulatedEvolutionCanvas) may expose internal representation by storing an externally mutable object into SimulatedEvolutionController.canvas MALICIOUS_CODE EI_EXPOSE_REP2 33 Medium
Synchronization on SimulatedEvolutionController.mySemaphore in futile attempt to guard it MT_CORRECTNESS ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD 70 Medium
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 18-72 Low

org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel.getAllCells() may expose internal representation by returning SimulatedEvolutionModel.cells MALICIOUS_CODE EI_EXPOSE_REP 133 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel.getSimulatedEvolutionParameter() may expose internal representation by returning SimulatedEvolutionModel.simulatedEvolutionParameter MALICIOUS_CODE EI_EXPOSE_REP 70 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel(WorldPoint) may expose internal representation by storing an externally mutable object into SimulatedEvolutionModel.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 76 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getProperties() may expose internal representation by returning SimulatedEvolutionTab.properties MALICIOUS_CODE EI_EXPOSE_REP 60 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getSimulatedEvolutionApplet() may expose internal representation by returning SimulatedEvolutionTab.simulatedEvolutionApplet MALICIOUS_CODE EI_EXPOSE_REP 52 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getSimulatedEvolutionParameter() may expose internal representation by returning SimulatedEvolutionTab.simulatedEvolutionParameter MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab.getTabCtx() may expose internal representation by returning SimulatedEvolutionTab.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 58 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab(ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into SimulatedEvolutionTab.properties MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 82 Low
Overridable method pack is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 79 Low
Overridable method toFront is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 81 Low
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 30-121 Low

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayDecreaseButton

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayDecreaseButton.getTabCtx() may expose internal representation by returning FoodPerDayDecreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayDecreaseButton(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayDecreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 24 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayIncreaseButton

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayIncreaseButton.getTabCtx() may expose internal representation by returning FoodPerDayIncreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayIncreaseButton(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayIncreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 24 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayLabel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayLabel.getTabCtx() may expose internal representation by returning FoodPerDayLabel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayLabel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayLabel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 24 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel.getFoodPerDayDecreaseButton() may expose internal representation by returning FoodPerDayPanel.foodPerDayDecreaseButton MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel.getFoodPerDayIncreaseButton() may expose internal representation by returning FoodPerDayPanel.foodPerDayIncreaseButton MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel.getFoodPerDayLabel() may expose internal representation by returning FoodPerDayPanel.foodPerDayLabel MALICIOUS_CODE EI_EXPOSE_REP 24 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel.getFoodPerDayTextField() may expose internal representation by returning FoodPerDayPanel.foodPerDayTextField MALICIOUS_CODE EI_EXPOSE_REP 25 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel.getTabCtx() may expose internal representation by returning FoodPerDayPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 22 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 32 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayTextField

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayTextField.getTabCtx() may expose internal representation by returning FoodPerDayTextField.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.food.FoodPerDayTextField(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayTextField.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenCheckBox

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenCheckBox.getTabCtx() may expose internal representation by returning GardenOfEdenCheckBox.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenCheckBox(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenCheckBox.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanel.getTabCtx() may expose internal representation by returning GardenOfEdenPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 20 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 26 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanelRow

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanelRow.getButtonToggleGardenOfEden() may expose internal representation by returning GardenOfEdenPanelRow.buttonToggleGardenOfEden MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanelRow.getGardenOfEdenEnabled() may expose internal representation by returning GardenOfEdenPanelRow.gardenOfEdenEnabled MALICIOUS_CODE EI_EXPOSE_REP 25 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanelRow.getTabCtx() may expose internal representation by returning GardenOfEdenPanelRow.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 22 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenPanelRow(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenPanelRow.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenToggleButton

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenToggleButton.getTabCtx() may expose internal representation by returning GardenOfEdenToggleButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.garden.GardenOfEdenToggleButton(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenToggleButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 24 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElement

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElement.getLabel() may expose internal representation by returning PopulationStatisticsElement.label MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElement.getStatistics() may expose internal representation by returning PopulationStatisticsElement.statistics MALICIOUS_CODE EI_EXPOSE_REP 20 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getGenerationOldestElement() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.generationOldestElement MALICIOUS_CODE EI_EXPOSE_REP 33 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getGenerationYoungestElement() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.generationYoungestElement MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getLayout() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.layout MALICIOUS_CODE EI_EXPOSE_REP 44 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getLayoutSubPanel() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.layoutSubPanel MALICIOUS_CODE EI_EXPOSE_REP 45 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getPopulation() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.population MALICIOUS_CODE EI_EXPOSE_REP 47 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getPopulationElement() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.populationElement MALICIOUS_CODE EI_EXPOSE_REP 32 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted.getTabCtx() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 42 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into PopulationStatisticsElementsPanelCounted.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted(SimulatedEvolutionContext). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 77 Low

org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getFullAgeCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.fullAgeCellsElement MALICIOUS_CODE EI_EXPOSE_REP 32 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getHungryCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.hungryCellsElement MALICIOUS_CODE EI_EXPOSE_REP 33 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getLayout() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.layout MALICIOUS_CODE EI_EXPOSE_REP 47 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getLayoutSubPanel() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.layoutSubPanel MALICIOUS_CODE EI_EXPOSE_REP 48 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getOldCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.oldCellsElement MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getPopulation() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.population MALICIOUS_CODE EI_EXPOSE_REP 50 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getTabCtx() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 45 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getYoungAndFatCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.youngAndFatCellsElement MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getYoungCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.youngCellsElement MALICIOUS_CODE EI_EXPOSE_REP 30 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into PopulationStatisticsElementsPanelLifeCycle.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle(SimulatedEvolutionContext). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 81 Low

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Cell

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Cell.getPosition() may expose internal representation by returning Cell.position MALICIOUS_CODE EI_EXPOSE_REP 131 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Cell(WorldPoint, WorldPoint, Random) may expose internal representation by storing an externally mutable object into Cell.random MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.CellCore

Bug Category Details Line Priority
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.CellCore(Random) may expose internal representation by storing an externally mutable object into CellCore.random MALICIOUS_CODE EI_EXPOSE_REP2 44 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Orientation

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.Orientation.getMove() may expose internal representation by returning Orientation.move MALICIOUS_CODE EI_EXPOSE_REP 27 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice

Bug Category Details Line Priority
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice(WorldPoint, Random) may expose internal representation by storing an externally mutable object into SimulatedEvolutionWorldLattice.dimensions MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice(WorldPoint, Random) may expose internal representation by storing an externally mutable object into SimulatedEvolutionWorldLattice.random MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation

Bug Category Details Line Priority
Switch statement found in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation.countStatusOfOneCell(LifeCycleStatus) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 37-54 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 37 Medium

org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer.getCells() may expose internal representation by returning SimulatedEvolutionPopulationContainer.cells MALICIOUS_CODE EI_EXPOSE_REP 30 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer.getStatistics() may expose internal representation by returning SimulatedEvolutionPopulationContainer.statistics MALICIOUS_CODE EI_EXPOSE_REP 29 Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer.getTabCtx() may expose internal representation by returning SimulatedEvolutionPopulationContainer.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionPopulationContainer.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium
Overridable method createInitialPopulation is called from constructor new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer(SimulatedEvolutionContext). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 42 Low