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 |
---|---|---|---|
19 | 40 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to frame in new org.woehlke.computer.kurzweil.mandelbrot.zoom.MandelbrotSetApplication() | STYLE | DLS_DEAD_LOCAL_STORE | 20 | Medium |
Dead store to application in org.woehlke.computer.kurzweil.mandelbrot.zoom.MandelbrotSetApplication.main(String[]) | STYLE | DLS_DEAD_LOCAL_STORE | 28 | Medium |
org.woehlke.computer.kurzweil.mandelbrot.zoom.MandelbrotSetApplication.main(String[]) needlessly instantiates a class that only supplies static methods | BAD_PRACTICE | ISC_INSTANTIATE_STATIC_CLASS | 28 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L2 in org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread.run() | STYLE | DLS_DEAD_LOCAL_STORE | 49 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 55 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 42 | High |
new org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread(ApplicationModel, ApplicationFrame) may expose internal representation by storing an externally mutable object into ControllerThread.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Synchronization on ControllerThread.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 56 | Medium |
Class org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 29-58 | Low |
Unread field: org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread.THREAD_SLEEP_TIME; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 29 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.zoom.model.ApplicationModel.getFrame() may expose internal representation by returning ApplicationModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP | 71 | Medium |
org.woehlke.computer.kurzweil.mandelbrot.zoom.model.ApplicationModel.getGaussianNumberPlane() may expose internal representation by returning ApplicationModel.gaussianNumberPlane | MALICIOUS_CODE | EI_EXPOSE_REP | 67 | Medium |
new org.woehlke.computer.kurzweil.mandelbrot.zoom.model.ApplicationModel(Config, ApplicationFrame) may expose internal representation by storing an externally mutable object into ApplicationModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 36 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.y in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.moveDown() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 46 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.x in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.moveLeft() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 50 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.x in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.moveRight() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 42 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.y in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.common.Point.moveUp() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 38 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.model.fractal.GaussianNumberPlane(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 70 | Low |
Private method org.woehlke.computer.kurzweil.mandelbrot.zoom.model.fractal.GaussianNumberPlane.getComplexNumberFromLatticeCoordsForJulia(Point) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 92-96 | Low |
org.woehlke.computer.kurzweil.mandelbrot.zoom.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.mandelbrot.zoom.model.turing.MandelbrotTuringMachine(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 33 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.turing.MandelbrotTuringMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 44 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.model.turing.TuringPhaseState(). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 21 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.zoom.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.zoom.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.zoom.model.turing.TuringPositions(Point). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 31 | Low |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.zoom.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.turing.TuringPositions.goForward() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 50 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.zoom.model.turing.TuringPositions$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 51 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationCanvas defines non-transient non-serializable instance field app | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame.getCanvas() may expose internal representation by returning ApplicationFrame.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 157 | Medium |
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 69 | Low |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 68 | Low |
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 71 | Low |
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 70 | Low |
Class org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 57-157 | Low |
new org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame(Config) invokes org.woehlke.computer.kurzweil.mandelbrot.zoom.control.ControllerThread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 72 | Low |
Class org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame defines non-transient non-serializable instance field applicationModel | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class org.woehlke.computer.kurzweil.mandelbrot.zoom.view.ApplicationFrame defines non-transient non-serializable instance field controllerThread | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.zoom.view.panels.PanelButtons(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 38 | Low |
Class org.woehlke.computer.kurzweil.mandelbrot.zoom.view.panels.PanelButtons defines non-transient non-serializable instance field model | BAD_PRACTICE | SE_BAD_FIELD | Not available | Low |