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 |
---|---|---|---|
12 | 29 | 0 | 0 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to frame in org.woehlke.computer.kurzweil.tabs.cca.CyclicCellularAutomatonApplication.main(String[]) | STYLE | DLS_DEAD_LOCAL_STORE | 23 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to $L5 in new org.woehlke.computer.kurzweil.tabs.cca.config.Config() | STYLE | DLS_DEAD_LOCAL_STORE | 31 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.getCanvas() may expose internal representation by returning ObjectRegistry.canvas | MALICIOUS_CODE | EI_EXPOSE_REP | 44 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.getController() may expose internal representation by returning ObjectRegistry.controller | MALICIOUS_CODE | EI_EXPOSE_REP | 36 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.getFrame() may expose internal representation by returning ObjectRegistry.frame | MALICIOUS_CODE | EI_EXPOSE_REP | 60 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.getPanelButtons() may expose internal representation by returning ObjectRegistry.panelButtons | MALICIOUS_CODE | EI_EXPOSE_REP | 76 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.getSubtitle() may expose internal representation by returning ObjectRegistry.subtitle | MALICIOUS_CODE | EI_EXPOSE_REP | 84 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.setCanvas(CyclicCellularAutomatonCanvas) may expose internal representation by storing an externally mutable object into ObjectRegistry.canvas | MALICIOUS_CODE | EI_EXPOSE_REP2 | 48 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.setController(CyclicCellularAutomatonController) may expose internal representation by storing an externally mutable object into ObjectRegistry.controller | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.setFrame(CyclicCellularAutomatonFrame) may expose internal representation by storing an externally mutable object into ObjectRegistry.frame | MALICIOUS_CODE | EI_EXPOSE_REP2 | 64 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.setPanelButtons(PanelButtons) may expose internal representation by storing an externally mutable object into ObjectRegistry.panelButtons | MALICIOUS_CODE | EI_EXPOSE_REP2 | 80 | Medium |
org.woehlke.computer.kurzweil.tabs.cca.config.ObjectRegistry.setSubtitle(PanelSubtitle) may expose internal representation by storing an externally mutable object into ObjectRegistry.subtitle | MALICIOUS_CODE | EI_EXPOSE_REP2 | 88 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController.exit() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 48 | High |
Synchronization on Boolean in org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController.run() | MT_CORRECTNESS | DL_SYNCHRONIZATION_ON_BOOLEAN | 36 | High |
new org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController(ObjectRegistry) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonController.ctx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 29 | Medium |
Synchronization on CyclicCellularAutomatonController.goOn in futile attempt to guard it | MT_CORRECTNESS | ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD | 49 | Medium |
Class org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 28-64 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonLattice(ObjectRegistry) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonLattice.ctx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Overridable method startVonNeumann is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonLattice(ObjectRegistry). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 36 | Low |
org.woehlke.computer.kurzweil.tabs.cca.model.CyclicCellularAutomatonLattice.lattice is a volatile reference to an array; the array elements are non-volatile | MT_CORRECTNESS | VO_VOLATILE_REFERENCE_TO_ARRAY | Not available | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonCanvas(ObjectRegistry) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonCanvas.ctx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 26 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonFrame(ObjectRegistry) may expose internal representation by storing an externally mutable object into CyclicCellularAutomatonFrame.ctx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 34 | Medium |
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonFrame(ObjectRegistry). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 41 | Low |
Overridable method setFrame is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonFrame(ObjectRegistry). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 35 | Low |
Overridable method showMe is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonFrame(ObjectRegistry). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 43 | Low |
Class org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonFrame implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 33-76 | Low |
new org.woehlke.computer.kurzweil.tabs.cca.view.CyclicCellularAutomatonFrame(ObjectRegistry) invokes org.woehlke.computer.kurzweil.tabs.cca.control.CyclicCellularAutomatonController.start() | MT_CORRECTNESS | SC_START_IN_CTOR | 42 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.woehlke.computer.kurzweil.tabs.cca.view.PanelButtons(ObjectRegistry) may expose internal representation by storing an externally mutable object into PanelButtons.ctx | MALICIOUS_CODE | EI_EXPOSE_REP2 | 24 | Medium |
Overridable method addActionListener is called from constructor new org.woehlke.computer.kurzweil.tabs.cca.view.PanelButtons(ObjectRegistry). | MALICIOUS_CODE | MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR | 35 | Low |