SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.7.3
Threshold is medium
Effort is default
Summary
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
75 | 53 | 0 | 0 |
Files
org.woehlke.computer.kurzweil.turmite.TurmiteApplication
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to application in org.woehlke.computer.kurzweil.turmite.TurmiteApplication.main(String[]) | STYLE | DLS_DEAD_LOCAL_STORE | 33 | Medium |
org.woehlke.computer.kurzweil.turmite.TurmiteApplication.main(String[]) needlessly instantiates a class that only supplies static methods | BAD_PRACTICE | ISC_INSTANTIATE_STATIC_CLASS | 33 | Low |
org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 934 | Medium |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties.propertiesFactory(String, String) | STYLE | REC_CATCH_EXCEPTION | 939 | Low |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field allinone | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field cca | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field dla | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field gameoflive | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field kochsnowflake | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotJulia | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotZoom | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field randomwalk | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field samegame | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field sierpinskitriangle | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field simulatedevolution | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field tetris | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field turmite | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.turmite.config.ComputerKurzweilProperties defines non-transient non-serializable instance field wator | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
org.woehlke.computer.kurzweil.turmite.control.ControllerThread
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L2 in org.woehlke.computer.kurzweil.turmite.control.ControllerThread.run() | STYLE | DLS_DEAD_LOCAL_STORE | 49 | Medium |
Dead store to doIt in org.woehlke.computer.kurzweil.turmite.control.ControllerThread.run() | STYLE | DLS_DEAD_LOCAL_STORE | 42 | Medium |
new org.woehlke.computer.kurzweil.turmite.control.ControllerThread(TurmiteModel, TurmiteFrame) may expose internal representation by storing an externally mutable object into ControllerThread.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
Class org.woehlke.computer.kurzweil.turmite.control.ControllerThread implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 25-59 | Low |
org.woehlke.computer.kurzweil.turmite.model.TurmiteModel
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.turmite.model.TurmiteModel(ComputerKurzweilProperties, TurmiteFrame) may expose internal representation by storing an externally mutable object into TurmiteModel.config | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 | Medium |
new org.woehlke.computer.kurzweil.turmite.model.TurmiteModel(ComputerKurzweilProperties, TurmiteFrame) may expose internal representation by storing an externally mutable object into TurmiteModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 41 | Medium |
org.woehlke.computer.kurzweil.turmite.model.TurmiteModel$1
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.turmite.model.TurmiteModel$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 50 | Medium |
org.woehlke.computer.kurzweil.turmite.model.common.Point
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Increment of volatile field org.woehlke.computer.kurzweil.turmite.model.common.Point.y in org.woehlke.computer.kurzweil.turmite.model.common.Point.moveDown() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 44 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.turmite.model.common.Point.x in org.woehlke.computer.kurzweil.turmite.model.common.Point.moveLeft() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 48 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.turmite.model.common.Point.x in org.woehlke.computer.kurzweil.turmite.model.common.Point.moveRight() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 40 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.turmite.model.common.Point.y in org.woehlke.computer.kurzweil.turmite.model.common.Point.moveUp() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 36 | Medium |
org.woehlke.computer.kurzweil.turmite.model.fractal.GaussianNumberPlane
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.turmite.model.fractal.GaussianNumberPlane(TurmiteModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 55 | Low |
org.woehlke.computer.kurzweil.turmite.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 |
org.woehlke.computer.kurzweil.turmite.model.turing.TuringPhaseState
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.turmite.model.turing.TuringPhaseState(). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 19 | Low |
org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions.getTuringPosition() may expose internal representation by returning TuringPositions.turingPosition | MALICIOUS_CODE | EI_EXPOSE_REP | 46 | Medium |
new org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions(Point) may expose internal representation by storing an externally mutable object into TuringPositions.worldDimensions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 30 | Medium |
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions(Point). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 31 | Low |
Increment of volatile field org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions.goForward() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 50 | Medium |
org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions$1
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.turmite.model.turing.TuringPositions$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 51 | Medium |
org.woehlke.computer.kurzweil.turmite.model.turing.TurmiteTuringMachine
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.turmite.model.turing.TurmiteTuringMachine(TurmiteModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 32 | Low |
org.woehlke.computer.kurzweil.turmite.model.turing.TurmiteTuringMachine$1
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.turmite.model.turing.TurmiteTuringMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 43 | Medium |
org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame.getCanvas() may expose internal representation by returning TurmiteFrame.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 166 | Medium |
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 75 | Low |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 74 | Low |
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 77 | Low |
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 76 | Low |
Class org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 43-170 | Low |
new org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame(ComputerKurzweilProperties) invokes org.woehlke.computer.kurzweil.turmite.control.ControllerThread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 78 | Low |
Class org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame defines non-transient non-serializable instance field controller | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class org.woehlke.computer.kurzweil.turmite.view.TurmiteFrame defines non-transient non-serializable instance field model | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
org.woehlke.computer.kurzweil.turmite.view.canvas.TurmiteCanvas
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.woehlke.computer.kurzweil.turmite.view.canvas.TurmiteCanvas defines non-transient non-serializable instance field app | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
org.woehlke.computer.kurzweil.turmite.view.labels.PanelButtons
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.turmite.view.labels.PanelButtons(TurmiteModel, TurmiteFrame, ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into PanelButtons.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 24 | Medium |
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.turmite.view.labels.PanelButtons(TurmiteModel, TurmiteFrame, ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 41 | Low |
Class org.woehlke.computer.kurzweil.turmite.view.labels.PanelButtons defines non-transient non-serializable instance field model | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
org.woehlke.computer.kurzweil.turmite.view.state.ApplicationStateMachine$1
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.turmite.view.state.ApplicationStateMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 26 | Medium |