SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.1.3

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
125 30 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.SimulatedEvolutionApplication 3
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties 2
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$1 1
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$Allinone$View 1
org.woehlke.computer.kurzweil.commons.model.Bounds 1
org.woehlke.computer.kurzweil.commons.model.LatticeNeighbourhood 1
org.woehlke.computer.kurzweil.commons.model.LatticePointNeighbourhoodPosition$1 1
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet 2
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext 3
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController 4
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel 3
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab 4
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted 1
org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle 1
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.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.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 1017 Medium
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) STYLE REC_CATCH_EXCEPTION 1020 Low

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 1029 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 114 Low

org.woehlke.computer.kurzweil.commons.model.Bounds

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.commons.model.Bounds is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID 13-45 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 20 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.tabs.simulatedevolution.SimulatedEvolutionApplet

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 26-75 Low
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionApplet defines non-transient non-serializable instance field simulatedEvolutionController BAD_PRACTICE SE_BAD_FIELD Not available Medium

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

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext defines non-transient non-serializable instance field controller BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext defines non-transient non-serializable instance field ctx BAD_PRACTICE SE_BAD_FIELD Not available Medium
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionContext is Serializable; consider declaring a serialVersionUID BAD_PRACTICE SE_NO_SERIALVERSIONID 16-77 Low

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 64 High
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController.run() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 48 High
Synchronization on SimulatedEvolutionController.mySemaphore in futile attempt to guard it MT_CORRECTNESS ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD 65 Medium
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 16-67 Low

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

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel defines non-transient non-serializable instance field cells BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel defines non-transient non-serializable instance field simulatedEvolutionParameter BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel defines non-transient non-serializable instance field simulatedEvolutionWorldLattice BAD_PRACTICE SE_BAD_FIELD Not available High

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

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 30-121 Low
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab defines non-transient non-serializable instance field ctx BAD_PRACTICE SE_BAD_FIELD Not available Low
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab defines non-transient non-serializable instance field properties BAD_PRACTICE SE_BAD_FIELD Not available Low
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionTab defines non-transient non-serializable instance field simulatedEvolutionParameter BAD_PRACTICE SE_BAD_FIELD Not available Low

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

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelCounted defines non-transient non-serializable instance field population BAD_PRACTICE SE_BAD_FIELD Not available Low

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

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.canvas.population.PopulationStatisticsElementsPanelLifeCycle defines non-transient non-serializable instance field population BAD_PRACTICE SE_BAD_FIELD Not available Low

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 33-50 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 33 Medium