SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.7.3
Threshold is medium
Effort is default
Summary
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
62 | 40 | 0 | 0 |
Files
org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream | BAD_PRACTICE | OS_OPEN_STREAM | 1018 | Medium |
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties.propertiesFactory(String, String) | STYLE | REC_CATCH_EXCEPTION | 1023 | Low |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field allinone | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field cca | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field dla | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field gameoflive | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field kochsnowflake | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotJulia | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotZoom | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field randomwalk | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field samegame | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field sierpinskitriangle | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field simulatedevolution | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field tetris | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field turmite | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
Class org.woehlke.computer.kurzweil.dla.config.ComputerKurzweilProperties defines non-transient non-serializable instance field wator | BAD_PRACTICE | SE_BAD_FIELD | Not available | High |
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 | 60 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.dla.control.ControllerThread.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 47 | High |
new org.woehlke.computer.kurzweil.dla.control.ControllerThread(DiffusionLimitedAggregationFrame) may expose internal representation by storing an externally mutable object into ControllerThread.tab | MALICIOUS_CODE | EI_EXPOSE_REP2 | 37 | Medium |
Synchronization on ControllerThread.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 61 | Medium |
Class org.woehlke.computer.kurzweil.dla.control.ControllerThread implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 36-63 | Low |
org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Random object created and used only once in new org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel(ComputerKurzweilProperties) | BAD_PRACTICE | DMI_RANDOM_USED_ONLY_ONCE | 52 | High |
org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel.getConfig() may expose internal representation by returning DiffusionLimitedAggregationModel.config | MALICIOUS_CODE | EI_EXPOSE_REP | 31 | Medium |
org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel.getParticles() may expose internal representation by returning DiffusionLimitedAggregationModel.particles | MALICIOUS_CODE | EI_EXPOSE_REP | 37 | Medium |
org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel.getWorldDimensions() may expose internal representation by returning DiffusionLimitedAggregationModel.worldDimensions | MALICIOUS_CODE | EI_EXPOSE_REP | 34 | Medium |
new org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel(ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationModel.config | MALICIOUS_CODE | EI_EXPOSE_REP2 | 45 | Medium |
Switch statement found in org.woehlke.computer.kurzweil.dla.model.DiffusionLimitedAggregationModel.move() where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 65-69 | Medium |
org.woehlke.computer.kurzweil.dla.model.dendrite.Dendrite
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.dla.model.dendrite.Dendrite(Point) may expose internal representation by storing an externally mutable object into Dendrite.dimensions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 28 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getCanvas() may expose internal representation by returning DiffusionLimitedAggregationFrame.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 45 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getConfig() may expose internal representation by returning DiffusionLimitedAggregationFrame.config | MALICIOUS_CODE | EI_EXPOSE_REP | 47 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getController() may expose internal representation by returning DiffusionLimitedAggregationFrame.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 44 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getCopyright() may expose internal representation by returning DiffusionLimitedAggregationFrame.copyright | MALICIOUS_CODE | EI_EXPOSE_REP | 43 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getDimensionSize() may expose internal representation by returning DiffusionLimitedAggregationFrame.dimensionSize | MALICIOUS_CODE | EI_EXPOSE_REP | 49 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getRectangleBounds() may expose internal representation by returning DiffusionLimitedAggregationFrame.rectangleBounds | MALICIOUS_CODE | EI_EXPOSE_REP | 48 | Medium |
org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame.getSubtitle() may expose internal representation by returning DiffusionLimitedAggregationFrame.subtitle | MALICIOUS_CODE | EI_EXPOSE_REP | 42 | Medium |
new org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame(ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into DiffusionLimitedAggregationFrame.config | MALICIOUS_CODE | EI_EXPOSE_REP2 | 53 | Medium |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 64 | Low |
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame(ComputerKurzweilProperties). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 63 | Low |
Class org.woehlke.computer.kurzweil.dla.view.DiffusionLimitedAggregationFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 42-146 | Low |
org.woehlke.computer.kurzweil.dla.view.canvas.WorldCanvas
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.dla.view.canvas.WorldCanvas.getWorldDimensions() may expose internal representation by returning WorldCanvas.worldDimensions | MALICIOUS_CODE | EI_EXPOSE_REP | 32 | Medium |