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
76 50 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotJuliaApplication 2
org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties 16
org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread 4
org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel 2
org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel$1 1
org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point 4
org.woehlke.computer.kurzweil.mandelbrot.julia.model.fractal.GaussianNumberPlane 2
org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.MandelbrotTuringMachine 1
org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.MandelbrotTuringMachine$1 1
org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPhaseState 1
org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions 4
org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions$1 1
org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame 9
org.woehlke.computer.kurzweil.mandelbrot.julia.view.canvas.MandelbrotJuliaCanvas 1
org.woehlke.computer.kurzweil.mandelbrot.julia.view.state.ApplicationStateMachine$1 1

org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotJuliaApplication

Bug Category Details Line Priority
Dead store to application in org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotJuliaApplication.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 33 Medium
org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotJuliaApplication.main(String[]) needlessly instantiates a class that only supplies static methods BAD_PRACTICE ISC_INSTANTIATE_STATIC_CLASS 33 Low

org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 949 Medium
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties.propertiesFactory(String, String) STYLE REC_CATCH_EXCEPTION 954 Low
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field allinone BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field cca BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field dla BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field gameoflive BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field kochsnowflake BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotJulia BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotZoom BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field randomwalk BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field samegame BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field sierpinskitriangle BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field simulatedevolution BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field tetris BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field turmite BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.mandelbrot.julia.config.ComputerKurzweilProperties defines non-transient non-serializable instance field wator BAD_PRACTICE SE_BAD_FIELD Not available High

org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread

Bug Category Details Line Priority
Dead store to $L2 in org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.run() STYLE DLS_DEAD_LOCAL_STORE 49 Medium
Dead store to doIt in org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.run() STYLE DLS_DEAD_LOCAL_STORE 42 Medium
new org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread(ApplicationModel, MandelbrotJuliaFrame) 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.mandelbrot.julia.control.ControllerThread implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 25-59 Low

org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel

Bug Category Details Line Priority
new org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel(ComputerKurzweilProperties, MandelbrotJuliaFrame) may expose internal representation by storing an externally mutable object into ApplicationModel.config MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium
new org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel(ComputerKurzweilProperties, MandelbrotJuliaFrame) may expose internal representation by storing an externally mutable object into ApplicationModel.frame MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 50 Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point

Bug Category Details Line Priority
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.y in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveDown() MT_CORRECTNESS VO_VOLATILE_INCREMENT 44 Medium
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.x in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveLeft() MT_CORRECTNESS VO_VOLATILE_INCREMENT 48 Medium
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.x in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveRight() MT_CORRECTNESS VO_VOLATILE_INCREMENT 40 Medium
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.y in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveUp() MT_CORRECTNESS VO_VOLATILE_INCREMENT 36 Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.model.fractal.GaussianNumberPlane

Bug Category Details Line Priority
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.model.fractal.GaussianNumberPlane(ApplicationModel). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 55 Low
org.woehlke.computer.kurzweil.mandelbrot.julia.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.mandelbrot.julia.model.turing.MandelbrotTuringMachine

Bug Category Details Line Priority
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.MandelbrotTuringMachine(ApplicationModel). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 32 Low

org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.MandelbrotTuringMachine$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.MandelbrotTuringMachine$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 43 Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPhaseState

Bug Category Details Line Priority
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPhaseState(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 19 Low

org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions.getTuringPosition() may expose internal representation by returning TuringPositions.turingPosition MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
new org.woehlke.computer.kurzweil.mandelbrot.julia.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.mandelbrot.julia.model.turing.TuringPositions(Point). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 31 Low
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions.goForward() MT_CORRECTNESS VO_VOLATILE_INCREMENT 50 Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 51 Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame.getCanvas() may expose internal representation by returning MandelbrotJuliaFrame.canvas MALICIOUS_CODE EI_EXPOSE_REP 164 Medium
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 73 Low
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 72 Low
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 75 Low
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 74 Low
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 43-168 Low
new org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame(ComputerKurzweilProperties) invokes org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.start() MT_CORRECTNESS SC_START_IN_CTOR 76 Low
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame defines non-transient non-serializable instance field controller BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.MandelbrotJuliaFrame defines non-transient non-serializable instance field model BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.woehlke.computer.kurzweil.mandelbrot.julia.view.canvas.MandelbrotJuliaCanvas

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.canvas.MandelbrotJuliaCanvas defines non-transient non-serializable instance field app BAD_PRACTICE SE_BAD_FIELD Not available Low

org.woehlke.computer.kurzweil.mandelbrot.julia.view.state.ApplicationStateMachine$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.view.state.ApplicationStateMachine$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 26 Medium