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
80 32 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.TurmiteApplication 4
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties 4
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$1 1
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties$Allinone$View 1
org.woehlke.computer.kurzweil.commons.model.fractal.GaussianNumberPlane 1
org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringMachine$1 1
org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions 1
org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions$1 1
org.woehlke.computer.kurzweil.commons.model.turing.Point 4
org.woehlke.computer.kurzweil.tabs.turmite.TurmiteCanvas 1
org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController 6
org.woehlke.computer.kurzweil.tabs.turmite.TurmiteModel$1 1
org.woehlke.computer.kurzweil.tabs.turmite.TurmiteTab 4
org.woehlke.computer.kurzweil.tabs.turmite.model.TurmiteTabStateMachine$1 1
org.woehlke.computer.kurzweil.tabs.turmite.ui.PanelButtons 1

org.woehlke.computer.kurzweil.TurmiteApplication

Bug Category Details Line Priority
Dead store to frame in new org.woehlke.computer.kurzweil.TurmiteApplication() STYLE DLS_DEAD_LOCAL_STORE 23 Medium
Dead store to application in org.woehlke.computer.kurzweil.TurmiteApplication.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 31 Medium
org.woehlke.computer.kurzweil.TurmiteApplication.main(String[]) needlessly instantiates a class that only supplies static methods BAD_PRACTICE ISC_INSTANTIATE_STATIC_CLASS 31 Low
Usage of GetResource in new org.woehlke.computer.kurzweil.TurmiteApplication() may be unsafe if class is extended BAD_PRACTICE UI_INHERITANCE_UNSAFE_GETRESOURCE 20 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 48 Medium
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 66 Medium
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) STYLE REC_CATCH_EXCEPTION 51 Low
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) STYLE REC_CATCH_EXCEPTION 71 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 80 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.tabs.TabType.getSubTitle() BAD_PRACTICE NM_CONFUSING 159 Low

org.woehlke.computer.kurzweil.commons.model.fractal.GaussianNumberPlane

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.commons.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.commons.model.turing.MandelbrotTuringMachine$1

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

org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions

Bug Category Details Line Priority
Increment of volatile field org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions.steps in org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions.goForward() MT_CORRECTNESS VO_VOLATILE_INCREMENT 43 Medium

org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions$1

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

org.woehlke.computer.kurzweil.commons.model.turing.Point

Bug Category Details Line Priority
Increment of volatile field org.woehlke.computer.kurzweil.commons.model.turing.Point.y in org.woehlke.computer.kurzweil.commons.model.turing.Point.moveDown() MT_CORRECTNESS VO_VOLATILE_INCREMENT 42 Medium
Increment of volatile field org.woehlke.computer.kurzweil.commons.model.turing.Point.x in org.woehlke.computer.kurzweil.commons.model.turing.Point.moveLeft() MT_CORRECTNESS VO_VOLATILE_INCREMENT 46 Medium
Increment of volatile field org.woehlke.computer.kurzweil.commons.model.turing.Point.x in org.woehlke.computer.kurzweil.commons.model.turing.Point.moveRight() MT_CORRECTNESS VO_VOLATILE_INCREMENT 38 Medium
Increment of volatile field org.woehlke.computer.kurzweil.commons.model.turing.Point.y in org.woehlke.computer.kurzweil.commons.model.turing.Point.moveUp() MT_CORRECTNESS VO_VOLATILE_INCREMENT 34 Medium

org.woehlke.computer.kurzweil.tabs.turmite.TurmiteCanvas

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.turmite.TurmiteCanvas defines non-transient non-serializable instance field app BAD_PRACTICE SE_BAD_FIELD Not available Low

org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController

Bug Category Details Line Priority
Dead store to $L2 in org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController.run() STYLE DLS_DEAD_LOCAL_STORE 36 Medium
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController.exit() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 42 High
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController.run() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 29 High
Synchronization on TurmiteController.goOn in futile attempt to guard it MT_CORRECTNESS ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD 43 Medium
Class org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 15-45 Low
Unread field: org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController.THREAD_SLEEP_TIME; should this field be static? PERFORMANCE SS_SHOULD_BE_STATIC 15 Medium

org.woehlke.computer.kurzweil.tabs.turmite.TurmiteModel$1

Bug Category Details Line Priority
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.turmite.TurmiteModel$1.<static initializer for 1>() STYLE DLS_DEAD_LOCAL_STORE 40 Medium

org.woehlke.computer.kurzweil.tabs.turmite.TurmiteTab

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.turmite.TurmiteTab implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 37-145 Low
new org.woehlke.computer.kurzweil.tabs.turmite.TurmiteTab(ComputerKurzweilProperties) invokes org.woehlke.computer.kurzweil.tabs.turmite.TurmiteController.start() MT_CORRECTNESS SC_START_IN_CTOR 56 Low
Class org.woehlke.computer.kurzweil.tabs.turmite.TurmiteTab defines non-transient non-serializable instance field mandelbrotController BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.woehlke.computer.kurzweil.tabs.turmite.TurmiteTab defines non-transient non-serializable instance field mandelbrotModel BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.woehlke.computer.kurzweil.tabs.turmite.model.TurmiteTabStateMachine$1

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

org.woehlke.computer.kurzweil.tabs.turmite.ui.PanelButtons

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.tabs.turmite.ui.PanelButtons defines non-transient non-serializable instance field model BAD_PRACTICE SE_BAD_FIELD Not available Low