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 |
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 |