SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.0

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
13 18 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.dla.DiffusionLimitedAggregationDesktop 1
org.woehlke.computer.kurzweil.dla.control.ControllerThread 5
org.woehlke.computer.kurzweil.dla.model.Dendrite 1
org.woehlke.computer.kurzweil.dla.model.Particles 4
org.woehlke.computer.kurzweil.dla.view.WorldCanvas 2
org.woehlke.computer.kurzweil.dla.view.applet.DiffusionLimitedAggregationApplet 1
org.woehlke.computer.kurzweil.dla.view.desktop.DiffusionLimitedAggregationFrame 4

org.woehlke.computer.kurzweil.dla.DiffusionLimitedAggregationDesktop

Bug Category Details Line Priority
Dead store to diffusionLimitedAggregation in org.woehlke.computer.kurzweil.dla.DiffusionLimitedAggregationDesktop.main(String[]) STYLE DLS_DEAD_LOCAL_STORE 22 Medium

org.woehlke.computer.kurzweil.dla.control.ControllerThread

Bug Category Details Line Priority
Synchronization on Boolean in org.woehlke.computer.kurzweil.dla.control.ControllerThread.exit() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 50 High
Synchronization on Boolean in org.woehlke.computer.kurzweil.dla.control.ControllerThread.run() MT_CORRECTNESS DL_SYNCHRONIZATION_ON_BOOLEAN 38 High
new org.woehlke.computer.kurzweil.dla.control.ControllerThread(WorldCanvas, Particles) may expose internal representation by storing an externally mutable object into ControllerThread.canvas MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium
Synchronization on ControllerThread.goOn in futile attempt to guard it MT_CORRECTNESS ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD 51 Medium
Class org.woehlke.computer.kurzweil.dla.control.ControllerThread implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 29-53 Low

org.woehlke.computer.kurzweil.dla.model.Dendrite

Bug Category Details Line Priority
new org.woehlke.computer.kurzweil.dla.model.Dendrite(Point) may expose internal representation by storing an externally mutable object into Dendrite.dimensions MALICIOUS_CODE EI_EXPOSE_REP2 26 Medium

org.woehlke.computer.kurzweil.dla.model.Particles

Bug Category Details Line Priority
Random object created and used only once in new org.woehlke.computer.kurzweil.dla.model.Particles(Point) BAD_PRACTICE DMI_RANDOM_USED_ONLY_ONCE 38 High
org.woehlke.computer.kurzweil.dla.model.Particles.getParticles() may expose internal representation by returning Particles.particles MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
new org.woehlke.computer.kurzweil.dla.model.Particles(Point) may expose internal representation by storing an externally mutable object into Particles.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 35 Medium
Switch statement found in org.woehlke.computer.kurzweil.dla.model.Particles.move() where default case is missing STYLE SF_SWITCH_NO_DEFAULT 55-59 Medium

org.woehlke.computer.kurzweil.dla.view.WorldCanvas

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.dla.view.WorldCanvas.getWorldDimensions() may expose internal representation by returning WorldCanvas.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP 70 Medium
new org.woehlke.computer.kurzweil.dla.view.WorldCanvas(Point, Particles) may expose internal representation by storing an externally mutable object into WorldCanvas.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 33 Medium

org.woehlke.computer.kurzweil.dla.view.applet.DiffusionLimitedAggregationApplet

Bug Category Details Line Priority
Class org.woehlke.computer.kurzweil.dla.view.applet.DiffusionLimitedAggregationApplet implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 26-58 Low

org.woehlke.computer.kurzweil.dla.view.desktop.DiffusionLimitedAggregationFrame

Bug Category Details Line Priority
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.dla.view.desktop.DiffusionLimitedAggregationFrame(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 45 Low
Overridable method pack is called from constructor new org.woehlke.computer.kurzweil.dla.view.desktop.DiffusionLimitedAggregationFrame(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 42 Low
Overridable method toFront is called from constructor new org.woehlke.computer.kurzweil.dla.view.desktop.DiffusionLimitedAggregationFrame(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 44 Low
Class org.woehlke.computer.kurzweil.dla.view.desktop.DiffusionLimitedAggregationFrame implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 37-77 Low