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 |
---|---|---|---|
23 | 39 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to frame in new org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotSetApplication() | STYLE | DLS_DEAD_LOCAL_STORE | 23 | Medium |
Dead store to application in org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotSetApplication.main(String[]) | STYLE | DLS_DEAD_LOCAL_STORE | 31 | Medium |
org.woehlke.computer.kurzweil.mandelbrot.julia.MandelbrotSetApplication.main(String[]) needlessly instantiates a class that only supplies static methods | BAD_PRACTICE | ISC_INSTANTIATE_STATIC_CLASS | 31 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L2 in org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.run() | STYLE | DLS_DEAD_LOCAL_STORE | 49 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 55 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 42 | High |
new org.woehlke.computer.kurzweil.mandelbrot.julia.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.julia.control.ControllerThread implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 29-58 | Low |
Unread field: org.woehlke.computer.kurzweil.mandelbrot.julia.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.julia.model.ApplicationModel.getGaussianNumberPlane() may expose internal representation by returning ApplicationModel.gaussianNumberPlane | MALICIOUS_CODE | EI_EXPOSE_REP | 83 | Medium |
new org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel(Config, ApplicationFrame) may expose internal representation by storing an externally mutable object into ApplicationModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 39 | Medium |
Unread field: org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel.frame | PERFORMANCE | URF_UNREAD_FIELD | 39 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.model.ApplicationModel$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.mandelbrot.julia.model.common.Point.y in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveDown() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 44 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.x in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveLeft() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 48 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.x in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveRight() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 40 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.y in org.woehlke.computer.kurzweil.mandelbrot.julia.model.common.Point.moveUp() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 36 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.model.fractal.GaussianNumberPlane(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 72 | Low |
org.woehlke.computer.kurzweil.mandelbrot.julia.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.julia.model.turing.MandelbrotTuringMachine(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 32 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.MandelbrotTuringMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 43 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPhaseState(). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 19 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.julia.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.julia.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.julia.model.turing.TuringPositions(Point). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 31 | Low |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.julia.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.mandelbrot.julia.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.julia.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.julia.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.julia.view.ApplicationFrame.getCanvas() may expose internal representation by returning ApplicationFrame.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 161 | Medium |
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 70 | Low |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 69 | Low |
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 72 | Low |
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 71 | Low |
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 58-161 | Low |
new org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame(Config) invokes org.woehlke.computer.kurzweil.mandelbrot.julia.control.ControllerThread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 73 | Low |
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame defines non-transient non-serializable instance field applicationModel | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Class org.woehlke.computer.kurzweil.mandelbrot.julia.view.ApplicationFrame defines non-transient non-serializable instance field controllerThread | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.julia.view.state.ApplicationStateMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 26 | Medium |