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 |
181 |
118 |
0 |
0 |
org.woehlke.computer.kurzweil.ComputerKurzweilApplication
Bug |
Category |
Details |
Line |
Priority |
Usage of GetResource in new org.woehlke.computer.kurzweil.ComputerKurzweilApplication(String[]) may be unsafe if class is extended |
BAD_PRACTICE |
UI_INHERITANCE_UNSAFE_GETRESOURCE |
48 |
Low |
org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
25-161 |
Low |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilFrame defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar
Bug |
Category |
Details |
Line |
Priority |
org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar.lambda$new$0(ActionEvent) invokes System.exit(...), which shuts down the entire virtual machine |
BAD_PRACTICE |
DM_EXIT |
32 |
Low |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilMenuBar defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
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 |
485 |
Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream |
BAD_PRACTICE |
OS_OPEN_STREAM |
503 |
Medium |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) |
STYLE |
REC_CATCH_EXCEPTION |
488 |
Low |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) |
STYLE |
REC_CATCH_EXCEPTION |
508 |
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 |
517 |
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 |
60 |
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 |
10-42 |
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.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.tabs.ComputerKurzweilTabbedPane
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.ComputerKurzweilTabbedPane defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Low |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonCanvas
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonCanvas defines non-transient non-serializable instance field colorScheme |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonContext
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonContext defines non-transient non-serializable instance field controller |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonContext defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonContext is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
14-66 |
Low |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonController
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonController.exit() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
69 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonController.run() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
51 |
High |
Synchronization on CyclicCellularAutomatonController.goOn in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
70 |
Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel.exec() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
48 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel.start() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
147 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel.stop() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
155 |
High |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel.getLattice() may expose internal representation by returning CyclicCellularAutomatonModel.lattice |
MALICIOUS_CODE |
EI_EXPOSE_REP |
21 |
Medium |
Synchronization on CyclicCellularAutomatonModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
148 |
Medium |
Synchronization on CyclicCellularAutomatonModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
156 |
Medium |
Class org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel defines non-transient non-serializable instance field colorScheme |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
15-162 |
Low |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonModel.lattice is a volatile reference to an array; the array elements are non-volatile |
MT_CORRECTNESS |
VO_VOLATILE_REFERENCE_TO_ARRAY |
Not available |
Low |
org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonTab implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
15-84 |
Low |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationContext
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationContext defines non-transient non-serializable instance field controller |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationContext defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationContext is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
15-68 |
Low |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationController
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationController.exit() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
68 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationController.run() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
50 |
High |
Synchronization on DiffusionLimitedAggregationController.goOn in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
69 |
Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel.exec() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
84 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel.start() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
61 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel.stop() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
69 |
High |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel.getWorldMap() may expose internal representation by returning DiffusionLimitedAggregationModel.worldMap |
MALICIOUS_CODE |
EI_EXPOSE_REP |
22 |
Medium |
Synchronization on DiffusionLimitedAggregationModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
62 |
Medium |
Synchronization on DiffusionLimitedAggregationModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
70 |
Medium |
Class org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel defines non-transient non-serializable instance field particles |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
13-152 |
Low |
Switch statement found in org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationModel.exec() where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
98-109 |
Medium |
org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.dla.DiffusionLimitedAggregationTab implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
13-70 |
Low |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotContext
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotContext defines non-transient non-serializable instance field controller |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotContext defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotContext is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
14-64 |
Low |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotController
Bug |
Category |
Details |
Line |
Priority |
Dead store to $L2 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotController.run() |
STYLE |
DLS_DEAD_LOCAL_STORE |
40 |
Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotController.exit() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
46 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotController.run() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
33 |
High |
Synchronization on MandelbrotController.goOn in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
47 |
Medium |
Unread field: org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotController.THREAD_SLEEP_TIME; should this field be static? |
PERFORMANCE |
SS_SHOULD_BE_STATIC |
20 |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel defines non-transient non-serializable instance field gaussianNumberPlane |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel defines non-transient non-serializable instance field mandelbrotTabStateMachine |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel defines non-transient non-serializable instance field mandelbrotTuringMachine |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel defines non-transient non-serializable instance field properties |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
23-143 |
Low |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel$1
Bug |
Category |
Details |
Line |
Priority |
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotModel$1.<static initializer for 1>() |
STYLE |
DLS_DEAD_LOCAL_STORE |
45 |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.MandelbrotTab implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
22-146 |
Low |
org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.state.MandelbrotTabStateMachine$1
Bug |
Category |
Details |
Line |
Priority |
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.state.MandelbrotTabStateMachine$1.<static initializer for 1>() |
STYLE |
DLS_DEAD_LOCAL_STORE |
24 |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.MandelbrotTuringMachine$1
Bug |
Category |
Details |
Line |
Priority |
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.MandelbrotTuringMachine$1.<static initializer for 1>() |
STYLE |
DLS_DEAD_LOCAL_STORE |
37 |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point
Bug |
Category |
Details |
Line |
Priority |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.y in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.moveDown() |
MT_CORRECTNESS |
VO_VOLATILE_INCREMENT |
47 |
Medium |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.x in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.moveLeft() |
MT_CORRECTNESS |
VO_VOLATILE_INCREMENT |
51 |
Medium |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.x in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.moveRight() |
MT_CORRECTNESS |
VO_VOLATILE_INCREMENT |
43 |
Medium |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.y in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.Point.moveUp() |
MT_CORRECTNESS |
VO_VOLATILE_INCREMENT |
39 |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.TuringPositions
Bug |
Category |
Details |
Line |
Priority |
Increment of volatile field org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.TuringPositions.goForward() |
MT_CORRECTNESS |
VO_VOLATILE_INCREMENT |
43 |
Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.TuringPositions$1
Bug |
Category |
Details |
Line |
Priority |
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrotzoom.model.turing.TuringPositions$1.<static initializer for 1>() |
STYLE |
DLS_DEAD_LOCAL_STORE |
44 |
Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkCanvas
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkCanvas defines non-transient non-serializable instance field colorScheme |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkCanvas defines non-transient non-serializable instance field particlePosition |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkContext
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkContext defines non-transient non-serializable instance field controller |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkContext defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkContext is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
14-66 |
Low |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkController
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkController.exit() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
65 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkController.run() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
47 |
High |
Synchronization on RandomWalkController.goOn in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
66 |
Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel.exec() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
45 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel.start() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
77 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel.stop() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
85 |
High |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel.getLattice() may expose internal representation by returning RandomWalkModel.lattice |
MALICIOUS_CODE |
EI_EXPOSE_REP |
22 |
Medium |
Synchronization on RandomWalkModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
78 |
Medium |
Synchronization on RandomWalkModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
86 |
Medium |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel defines non-transient non-serializable instance field colorScheme |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel defines non-transient non-serializable instance field particlePosition |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
14-99 |
Low |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkModel.lattice is a volatile reference to an array; the array elements are non-volatile |
MT_CORRECTNESS |
VO_VOLATILE_REFERENCE_TO_ARRAY |
Not available |
Low |
org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.randomwalk.RandomWalkTab implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
13-73 |
Low |
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 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 |
14-70 |
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 |
97 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController.run() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
67 |
High |
Synchronization on SimulatedEvolutionController.goOn in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
98 |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionController is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
24-104 |
Low |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel
Bug |
Category |
Details |
Line |
Priority |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel.exec() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
131 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel.start() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
73 |
High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel.stop() |
MT_CORRECTNESS |
DL_SYNCHRONIZATION_ON_BOOLEAN |
81 |
High |
Synchronization on SimulatedEvolutionModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
74 |
Medium |
Synchronization on SimulatedEvolutionModel.running in futile attempt to guard it |
MT_CORRECTNESS |
ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD |
82 |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.SimulatedEvolutionModel is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
37-162 |
Low |
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 |
16-101 |
Low |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionParameter
Bug |
Category |
Details |
Line |
Priority |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionParameter is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
7-28 |
Low |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice
Bug |
Category |
Details |
Line |
Priority |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice.getWorldMapFoodLattice() may expose internal representation by returning SimulatedEvolutionWorldLattice.worldMapFoodLattice |
MALICIOUS_CODE |
EI_EXPOSE_REP |
37 |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.SimulatedEvolutionWorldLattice is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
28-152 |
Low |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.Cell
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.Cell defines non-transient non-serializable instance field position |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellCore
Bug |
Category |
Details |
Line |
Priority |
new org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellCore(Integer[], ComputerKurzweilContext) may expose internal representation by storing an externally mutable object into CellCore.dna |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
26 |
Medium |
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellCore defines non-transient non-serializable instance field ctx |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellCore is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
23-174 |
Low |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellLifeCycle
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellLifeCycle defines non-transient non-serializable instance field cellConf |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellLifeCycle is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
24-131 |
Low |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellOrientation
Bug |
Category |
Details |
Line |
Priority |
Class org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.cell.CellOrientation defines non-transient non-serializable instance field move |
BAD_PRACTICE |
SE_BAD_FIELD |
Not available |
Medium |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation
Bug |
Category |
Details |
Line |
Priority |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
8-53 |
Low |
Switch statement found in org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulation.countStatusOfOneCell(CellLifeCycleStatus) 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 |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer
Bug |
Category |
Details |
Line |
Priority |
org.woehlke.computer.kurzweil.tabs.simulatedevolution.model.population.SimulatedEvolutionPopulationContainer is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
15-79 |
Low |