The following document contains the results of SpotBugs
SpotBugs Version is 4.7.0
Threshold is medium
Effort is default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
76 | 63 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to frame in new org.woehlke.computer.kurzweil.Mandelbrot2JuliaApplication() | STYLE | DLS_DEAD_LOCAL_STORE | 23 | Medium |
Dead store to application in org.woehlke.computer.kurzweil.Mandelbrot2JuliaApplication.main(String[]) | STYLE | DLS_DEAD_LOCAL_STORE | 31 | Medium |
org.woehlke.computer.kurzweil.Mandelbrot2JuliaApplication.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.Mandelbrot2JuliaApplication() may be unsafe if class is extended | BAD_PRACTICE | UI_INHERITANCE_UNSAFE_GETRESOURCE | 20 | Low |
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 | 487 | Medium |
org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 505 | Medium |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(File) | STYLE | REC_CATCH_EXCEPTION | 490 | Low |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties.propertiesFactory(String, String) | STYLE | REC_CATCH_EXCEPTION | 510 | Low |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field allinone | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field cca | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field dla | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field gameoflive | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field kochsnowflake | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrot | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field randomwalk | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field samegame | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field sierpinskitriangle | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field simulatedevolution | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field tetris | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field turmite | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.application.ComputerKurzweilProperties defines non-transient non-serializable instance field wator | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
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 | 519 | Medium |
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 | 62 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.commons.model.fractal.GaussianNumberPlane(Mandelbrot2JuliaModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 66 | Low |
Private method org.woehlke.computer.kurzweil.commons.model.fractal.GaussianNumberPlane.getComplexNumberFromLatticeCoordsForZoomedMandelbrot(Point) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 112-124 | Low |
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 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringMachine(Mandelbrot2JuliaModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 30 | Low |
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 | 41 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPhaseState(). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 23 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions.getTuringPosition() may expose internal representation by returning MandelbrotTuringPositions.turingPosition | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
new org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions(Point) may expose internal representation by storing an externally mutable object into MandelbrotTuringPositions.worldDimensions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 27 | Medium |
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.commons.model.turing.MandelbrotTuringPositions(Point). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 28 | Low |
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 | 47 | Medium |
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 | 48 | Medium |
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 | 45 | 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 | 49 | 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 | 41 | 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 | 37 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaCanvas(Mandelbrot2JuliaModel) may expose internal representation by storing an externally mutable object into Mandelbrot2JuliaCanvas.app | MALICIOUS_CODE | EI_EXPOSE_REP2 | 25 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L2 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController.run() | STYLE | DLS_DEAD_LOCAL_STORE | 42 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 48 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 35 | High |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController(Mandelbrot2JuliaModel, Mandelbrot2JuliaTab) may expose internal representation by storing an externally mutable object into Mandelbrot2JuliaController.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 27 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController(Mandelbrot2JuliaModel, Mandelbrot2JuliaTab) may expose internal representation by storing an externally mutable object into Mandelbrot2JuliaController.mandelbrotModel | MALICIOUS_CODE | EI_EXPOSE_REP2 | 28 | Medium |
Synchronization on Mandelbrot2JuliaController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 49 | Medium |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 22-51 | Low |
Unread field: org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController.THREAD_SLEEP_TIME; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 22 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel.getApplicationStateMachine() may expose internal representation by returning Mandelbrot2JuliaModel.applicationStateMachine | MALICIOUS_CODE | EI_EXPOSE_REP | 28 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel.getFrame() may expose internal representation by returning Mandelbrot2JuliaModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP | 88 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel.getGaussianNumberPlane() may expose internal representation by returning Mandelbrot2JuliaModel.gaussianNumberPlane | MALICIOUS_CODE | EI_EXPOSE_REP | 84 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel.getProperties() may expose internal representation by returning Mandelbrot2JuliaModel.properties | MALICIOUS_CODE | EI_EXPOSE_REP | 30 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel(ComputerKurzweilProperties, Mandelbrot2JuliaTab) may expose internal representation by storing an externally mutable object into Mandelbrot2JuliaModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 35 | Medium |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel(ComputerKurzweilProperties, Mandelbrot2JuliaTab) may expose internal representation by storing an externally mutable object into Mandelbrot2JuliaModel.properties | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaModel$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 44 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to separator in new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab(ComputerKurzweilProperties) | STYLE | DLS_DEAD_LOCAL_STORE | 45 | Medium |
org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab.getCanvas() may expose internal representation by returning Mandelbrot2JuliaTab.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 144 | Medium |
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 51 | Low |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 50 | Low |
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 53 | Low |
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 52 | Low |
Class org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 38-144 | Low |
new org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaTab(ComputerKurzweilProperties) invokes org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.Mandelbrot2JuliaController.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 54 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.tabs.mandelbrot2julia.model.Mandelbrot2JuliaStateMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 28 | Medium |