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 |
---|---|---|---|
25 | 40 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to frame in new org.woehlke.computer.kurzweil.mandelbrot.MandelbrotSetApplication() | STYLE | DLS_DEAD_LOCAL_STORE | 17 | Medium |
Dead store to application in org.woehlke.computer.kurzweil.mandelbrot.MandelbrotSetApplication.main(String[]) | STYLE | DLS_DEAD_LOCAL_STORE | 25 | Medium |
org.woehlke.computer.kurzweil.mandelbrot.MandelbrotSetApplication.main(String[]) needlessly instantiates a class that only supplies static methods | BAD_PRACTICE | ISC_INSTANTIATE_STATIC_CLASS | 25 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L2 in org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread.run() | STYLE | DLS_DEAD_LOCAL_STORE | 45 | Medium |
Synchronization on Boolean in org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 51 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 38 | High |
new org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread(ApplicationModel, ApplicationFrame) may expose internal representation by storing an externally mutable object into ControllerThread.applicationModel | MALICIOUS_CODE | EI_EXPOSE_REP2 | 31 | Medium |
new org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread(ApplicationModel, ApplicationFrame) may expose internal representation by storing an externally mutable object into ControllerThread.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 30 | Medium |
Synchronization on ControllerThread.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 52 | Medium |
Class org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 25-54 | Low |
Unread field: org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread.THREAD_SLEEP_TIME; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 25 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.model.ApplicationModel.getFrame() may expose internal representation by returning ApplicationModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP | 101 | Medium |
org.woehlke.computer.kurzweil.mandelbrot.model.ApplicationModel.getGaussianNumberPlane() may expose internal representation by returning ApplicationModel.gaussianNumberPlane | MALICIOUS_CODE | EI_EXPOSE_REP | 97 | Medium |
new org.woehlke.computer.kurzweil.mandelbrot.model.ApplicationModel(Config, ApplicationFrame) may expose internal representation by storing an externally mutable object into ApplicationModel.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.model.ApplicationModel$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.model.fractal.GaussianNumberPlane(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 67 | Low |
org.woehlke.computer.kurzweil.mandelbrot.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 |
---|---|---|---|---|
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.y in org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.moveDown() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 45 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.x in org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.moveLeft() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 49 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.x in org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.moveRight() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 41 | Medium |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.y in org.woehlke.computer.kurzweil.mandelbrot.model.helper.Point.moveUp() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 37 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.model.state.ApplicationStateMachine$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 29 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.model.turing.MandelbrotTuringMachine(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 30 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.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.mandelbrot.model.turing.TuringPhaseState(). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 21 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.model.turing.TuringPositions.getTuringPosition() may expose internal representation by returning TuringPositions.turingPosition | MALICIOUS_CODE | EI_EXPOSE_REP | 45 | Medium |
new org.woehlke.computer.kurzweil.mandelbrot.model.turing.TuringPositions(Point) may expose internal representation by storing an externally mutable object into TuringPositions.worldDimensions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium |
Overridable method start is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.model.turing.TuringPositions(Point). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 30 | Low |
Increment of volatile field org.woehlke.computer.kurzweil.mandelbrot.model.turing.TuringPositions.steps in org.woehlke.computer.kurzweil.mandelbrot.model.turing.TuringPositions.goForward() | MT_CORRECTNESS | VO_VOLATILE_INCREMENT | 49 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L0 in org.woehlke.computer.kurzweil.mandelbrot.model.turing.TuringPositions$1.<static initializer for 1>() | STYLE | DLS_DEAD_LOCAL_STORE | 50 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationCanvas(ApplicationModel) may expose internal representation by storing an externally mutable object into ApplicationCanvas.app | MALICIOUS_CODE | EI_EXPOSE_REP2 | 27 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame.getCanvas() may expose internal representation by returning ApplicationFrame.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 146 | Medium |
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 54 | Low |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 53 | Low |
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 56 | Low |
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame(Config). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 55 | Low |
Class org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 38-146 | Low |
new org.woehlke.computer.kurzweil.mandelbrot.view.ApplicationFrame(Config) invokes org.woehlke.computer.kurzweil.mandelbrot.control.ControllerThread.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 57 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.mandelbrot.view.PanelButtons(ApplicationModel) may expose internal representation by storing an externally mutable object into PanelButtons.model | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.mandelbrot.view.PanelButtons(ApplicationModel). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 39 | Low |