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
102 114 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.simulated.evolution.SimulatedEvolutionApplication 2
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilContext 3
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties 2
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties$1 1
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties$Allinone$View 1
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext 6
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionController 5
org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel 5
org.woehlke.computer.kurzweil.simulated.evolution.model.cell.Cell 2
org.woehlke.computer.kurzweil.simulated.evolution.model.cell.CellCore 1
org.woehlke.computer.kurzweil.simulated.evolution.model.cell.Orientation 1
org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.LatticeNeighbourhood 1
org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.LatticePointNeighbourhoodPosition$1 1
org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.SimulatedEvolutionWorldLattice 2
org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulation 1
org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulation$1 1
org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer 5
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionApplet 4
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab 12
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.SimulatedEvolutionCanvas 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayDecreaseButton 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayIncreaseButton 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayLabel 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel 6
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayTextField 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenCheckBox 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanel 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanelRow 4
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenToggleButton 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElement 2
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted 10
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle 12
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelStartStopButtons 2
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelWithTitleBorder 1
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.SubTabImpl 5

org.woehlke.computer.kurzweil.simulated.evolution.SimulatedEvolutionApplication

Bug Category Details Line Priority
Dead store to simulatedEvolutionTab in new org.woehlke.computer.kurzweil.simulated.evolution.SimulatedEvolutionApplication(String, String) STYLE DLS_DEAD_LOCAL_STORE 24 Medium
Dead store to application in org.woehlke.computer.kurzweil.simulated.evolution.SimulatedEvolutionApplication.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 34 Medium

org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilContext

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilContext.getProperties() may expose internal representation by returning ComputerKurzweilContext.properties MALICIOUS_CODE EI_EXPOSE_REP 30 Medium
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilContext.getRandom() may expose internal representation by returning ComputerKurzweilContext.random MALICIOUS_CODE EI_EXPOSE_REP 29 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilContext(ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into ComputerKurzweilContext.properties MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium

org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 926 Medium
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties.propertiesFactory(String, String) STYLE REC_CATCH_EXCEPTION 931 Low

org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 940 Medium

org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties$Allinone$View

Bug Category Details Line Priority
Confusing to have methods org.woehlke.computer.kurzweil.simulated.evolution.config.ComputerKurzweilProperties$Allinone$View.getSubtitle() and org.woehlke.computer.kurzweil.simulated.evolution.view.tabs.TabType.getSubTitle() BAD_PRACTICE NM_CONFUSING 110 Low

org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext.getCanvas() may expose internal representation by returning SimulatedEvolutionContext.canvas MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext.getController() may expose internal representation by returning SimulatedEvolutionContext.controller MALICIOUS_CODE EI_EXPOSE_REP 39 Medium
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext.getTab() may expose internal representation by returning SimulatedEvolutionContext.tab MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext(SimulatedEvolutionTab, ComputerKurzweilContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionContext.tab MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext.setController(SimulatedEvolutionController) may expose internal representation by storing an externally mutable object into SimulatedEvolutionContext.controller MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium
Class org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionContext defines non-transient non-serializable instance field ctx BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionController

Bug Category Details Line Priority
Synchronization on Boolean in org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionController.exit() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 73 High
Synchronization on Boolean in org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionController.run() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 57 High
org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionController.setCanvas(SimulatedEvolutionCanvas) may expose internal representation by storing an externally mutable object into SimulatedEvolutionController.canvas MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium
Synchronization on SimulatedEvolutionController.mySemaphore in futile attempt to guard it MT_CORRECTNESS ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD 74 Medium
Class org.woehlke.computer.kurzweil.simulated.evolution.control.SimulatedEvolutionController implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 23-76 Low

org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel.getAllCells() may expose internal representation by returning SimulatedEvolutionModel.cells MALICIOUS_CODE EI_EXPOSE_REP 135 Medium
org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel.getSimulatedEvolutionParameter() may expose internal representation by returning SimulatedEvolutionModel.simulatedEvolutionParameter MALICIOUS_CODE EI_EXPOSE_REP 72 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel(WorldPoint) may expose internal representation by storing an externally mutable object into SimulatedEvolutionModel.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 78 Medium
Class org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel defines non-transient non-serializable instance field simulatedEvolutionParameter BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.simulated.evolution.model.SimulatedEvolutionModel defines non-transient non-serializable instance field simulatedEvolutionWorldLattice BAD_PRACTICE SE_BAD_FIELD Not available High

org.woehlke.computer.kurzweil.simulated.evolution.model.cell.Cell

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

org.woehlke.computer.kurzweil.simulated.evolution.model.cell.CellCore

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

org.woehlke.computer.kurzweil.simulated.evolution.model.cell.Orientation

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.model.cell.Orientation.getMove() may expose internal representation by returning Orientation.move MALICIOUS_CODE EI_EXPOSE_REP 32 Medium

org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.LatticeNeighbourhood

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.LatticeNeighbourhood.getNeighbourhood() may expose internal representation by returning LatticeNeighbourhood.neighbourhood MALICIOUS_CODE EI_EXPOSE_REP 32 Medium

org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.LatticePointNeighbourhoodPosition$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.LatticePointNeighbourhoodPosition$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 38 Medium

org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.SimulatedEvolutionWorldLattice

Bug Category Details Line Priority
new org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.SimulatedEvolutionWorldLattice(WorldPoint, Random) may expose internal representation by storing an externally mutable object into SimulatedEvolutionWorldLattice.dimensions MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.model.lattice.SimulatedEvolutionWorldLattice(WorldPoint, Random) may expose internal representation by storing an externally mutable object into SimulatedEvolutionWorldLattice.random MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium

org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulation

Bug Category Details Line Priority
Switch statement found in org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulation.countStatusOfOneCell(LifeCycleStatus) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 42-59 Medium

org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulation$1

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

org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer.getCells() may expose internal representation by returning SimulatedEvolutionPopulationContainer.cells MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer.getStatistics() may expose internal representation by returning SimulatedEvolutionPopulationContainer.statistics MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer.getTabCtx() may expose internal representation by returning SimulatedEvolutionPopulationContainer.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 33 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into SimulatedEvolutionPopulationContainer.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium
Overridable method createInitialPopulation is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.model.population.SimulatedEvolutionPopulationContainer(SimulatedEvolutionContext). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 48 Low

org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionApplet

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionApplet.getCanvas() may expose internal representation by returning SimulatedEvolutionApplet.canvas MALICIOUS_CODE EI_EXPOSE_REP 58 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionApplet.getSimulatedEvolutionController() may expose internal representation by returning SimulatedEvolutionApplet.simulatedEvolutionController MALICIOUS_CODE EI_EXPOSE_REP 53 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionApplet.getTitle() may expose internal representation by returning SimulatedEvolutionApplet.title MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
Class org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionApplet implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 34-89 Low

org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab.getProperties() may expose internal representation by returning SimulatedEvolutionTab.properties MALICIOUS_CODE EI_EXPOSE_REP 63 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab.getSimulatedEvolutionApplet() may expose internal representation by returning SimulatedEvolutionTab.simulatedEvolutionApplet MALICIOUS_CODE EI_EXPOSE_REP 55 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab.getSimulatedEvolutionParameter() may expose internal representation by returning SimulatedEvolutionTab.simulatedEvolutionParameter MALICIOUS_CODE EI_EXPOSE_REP 57 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab.getTabCtx() may expose internal representation by returning SimulatedEvolutionTab.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab(ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into SimulatedEvolutionTab.properties MALICIOUS_CODE EI_EXPOSE_REP2 75 Medium
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 85 Low
Overridable method pack is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 82 Low
Overridable method toFront is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 84 Low
Class org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 35-123 Low
Class org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab defines non-transient non-serializable instance field ctx BAD_PRACTICE SE_BAD_FIELD Not available Low
Class org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab defines non-transient non-serializable instance field properties BAD_PRACTICE SE_BAD_FIELD Not available Low
Class org.woehlke.computer.kurzweil.simulated.evolution.view.SimulatedEvolutionTab defines non-transient non-serializable instance field simulatedEvolutionParameter BAD_PRACTICE SE_BAD_FIELD Not available Low

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.SimulatedEvolutionCanvas

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.SimulatedEvolutionCanvas.getWorldDimensions() may expose internal representation by returning SimulatedEvolutionCanvas.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP 40 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.SimulatedEvolutionCanvas(WorldPoint) may expose internal representation by storing an externally mutable object into SimulatedEvolutionCanvas.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayDecreaseButton

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayDecreaseButton.getTabCtx() may expose internal representation by returning FoodPerDayDecreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayDecreaseButton(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayDecreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayIncreaseButton

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayIncreaseButton.getTabCtx() may expose internal representation by returning FoodPerDayIncreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayIncreaseButton(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayIncreaseButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayLabel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayLabel.getTabCtx() may expose internal representation by returning FoodPerDayLabel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayLabel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayLabel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel.getFoodPerDayDecreaseButton() may expose internal representation by returning FoodPerDayPanel.foodPerDayDecreaseButton MALICIOUS_CODE EI_EXPOSE_REP 32 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel.getFoodPerDayIncreaseButton() may expose internal representation by returning FoodPerDayPanel.foodPerDayIncreaseButton MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel.getFoodPerDayLabel() may expose internal representation by returning FoodPerDayPanel.foodPerDayLabel MALICIOUS_CODE EI_EXPOSE_REP 29 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel.getFoodPerDayTextField() may expose internal representation by returning FoodPerDayPanel.foodPerDayTextField MALICIOUS_CODE EI_EXPOSE_REP 30 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel.getTabCtx() may expose internal representation by returning FoodPerDayPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 37 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayTextField

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayTextField.getTabCtx() may expose internal representation by returning FoodPerDayTextField.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.food.FoodPerDayTextField(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into FoodPerDayTextField.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenCheckBox

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenCheckBox.getTabCtx() may expose internal representation by returning GardenOfEdenCheckBox.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenCheckBox(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenCheckBox.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanel.getTabCtx() may expose internal representation by returning GardenOfEdenPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanel(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenPanel.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 33 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanelRow

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanelRow.getButtonToggleGardenOfEden() may expose internal representation by returning GardenOfEdenPanelRow.buttonToggleGardenOfEden MALICIOUS_CODE EI_EXPOSE_REP 31 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanelRow.getGardenOfEdenEnabled() may expose internal representation by returning GardenOfEdenPanelRow.gardenOfEdenEnabled MALICIOUS_CODE EI_EXPOSE_REP 30 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanelRow.getTabCtx() may expose internal representation by returning GardenOfEdenPanelRow.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenPanelRow(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenPanelRow.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 36 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenToggleButton

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenToggleButton.getTabCtx() may expose internal representation by returning GardenOfEdenToggleButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.garden.GardenOfEdenToggleButton(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into GardenOfEdenToggleButton.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElement

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElement.getLabel() may expose internal representation by returning PopulationStatisticsElement.label MALICIOUS_CODE EI_EXPOSE_REP 25 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElement.getStatistics() may expose internal representation by returning PopulationStatisticsElement.statistics MALICIOUS_CODE EI_EXPOSE_REP 26 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getGenerationOldestElement() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.generationOldestElement MALICIOUS_CODE EI_EXPOSE_REP 37 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getGenerationYoungestElement() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.generationYoungestElement MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getLayout() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.layout MALICIOUS_CODE EI_EXPOSE_REP 48 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getLayoutSubPanel() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.layoutSubPanel MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getPopulation() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.population MALICIOUS_CODE EI_EXPOSE_REP 51 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getPopulationElement() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.populationElement MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted.getTabCtx() may expose internal representation by returning PopulationStatisticsElementsPanelCounted.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into PopulationStatisticsElementsPanelCounted.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted(SimulatedEvolutionContext). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 81 Low
Class org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelCounted defines non-transient non-serializable instance field population BAD_PRACTICE SE_BAD_FIELD Not available Low

org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getFullAgeCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.fullAgeCellsElement MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getHungryCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.hungryCellsElement MALICIOUS_CODE EI_EXPOSE_REP 37 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getLayout() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.layout MALICIOUS_CODE EI_EXPOSE_REP 51 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getLayoutSubPanel() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.layoutSubPanel MALICIOUS_CODE EI_EXPOSE_REP 52 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getOldCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.oldCellsElement MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getPopulation() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.population MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getTabCtx() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.tabCtx MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getYoungAndFatCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.youngAndFatCellsElement MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle.getYoungCellsElement() may expose internal representation by returning PopulationStatisticsElementsPanelLifeCycle.youngCellsElement MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle(SimulatedEvolutionContext) may expose internal representation by storing an externally mutable object into PopulationStatisticsElementsPanelLifeCycle.tabCtx MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium
Overridable method update is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle(SimulatedEvolutionContext). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 85 Low
Class org.woehlke.computer.kurzweil.simulated.evolution.view.canvas.population.PopulationStatisticsElementsPanelLifeCycle defines non-transient non-serializable instance field population BAD_PRACTICE SE_BAD_FIELD Not available Low

org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelStartStopButtons

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelStartStopButtons.getStartButton() may expose internal representation by returning PanelStartStopButtons.startButton MALICIOUS_CODE EI_EXPOSE_REP 27 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelStartStopButtons.getStopButton() may expose internal representation by returning PanelStartStopButtons.stopButton MALICIOUS_CODE EI_EXPOSE_REP 29 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelWithTitleBorder

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.PanelWithTitleBorder.getPanelStartStopButtonsLayout() may expose internal representation by returning PanelWithTitleBorder.panelStartStopButtonsLayout MALICIOUS_CODE EI_EXPOSE_REP 26 Medium

org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.SubTabImpl

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.SubTabImpl.getLayout() may expose internal representation by returning SubTabImpl.layout MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.SubTabImpl.getProperties() may expose internal representation by returning SubTabImpl.properties MALICIOUS_CODE EI_EXPOSE_REP 32 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.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 49 Medium
new org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.SubTabImpl(String, ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into SubTabImpl.properties MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
Overridable method getProperties is called from constructor new org.woehlke.computer.kurzweil.simulated.evolution.view.widgets.SubTabImpl(String, ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 63 Low