The following document contains the results of FindBugs Report
FindBugs Version is 2.0.2
Threshold is experimental
Effort is max
Class | Bugs |
---|---|
net.sf.mbus4j.devices.GenericDevice | 6 |
net.sf.mbus4j.master.MBusMaster | 7 |
net.sf.mbus4j.master.MBusMaster$StreamListener | 1 |
net.sf.mbus4j.master.ValueRequestPointLocator | 2 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.mbus4j.devices.GenericDevice.getStatus() may expose internal representation by returning GenericDevice.status | MALICIOUS_CODE | EI_EXPOSE_REP | 135 | Medium |
net.sf.mbus4j.devices.GenericDevice.setStatus(UserDataResponse$StatusCode[]) may expose internal representation by storing an externally mutable object into GenericDevice.status | MALICIOUS_CODE | EI_EXPOSE_REP2 | 140 | Medium |
Confusing to have methods net.sf.mbus4j.devices.GenericDevice.getIdentNumber() and net.sf.mbus4j.master.ValueRequestPointLocator.getIdentnumber() | BAD_PRACTICE | NM_CONFUSING | 120 | Low |
Confusing to have methods net.sf.mbus4j.devices.GenericDevice.setIdentNumber(int) and net.sf.mbus4j.master.ValueRequestPointLocator.setIdentnumber(int) | BAD_PRACTICE | NM_CONFUSING | 75-76 | Low |
Class net.sf.mbus4j.devices.GenericDevice defines non-transient non-serializable instance field responseFrameContainers | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
net.sf.mbus4j.devices.GenericDevice is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | 57-313 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to fi in net.sf.mbus4j.master.MBusMaster.readResponse(byte) | STYLE | DLS_DEAD_LOCAL_STORE | 614 | Medium |
Synchronization performed on java.util.concurrent.ConcurrentLinkedQueue in net.sf.mbus4j.master.MBusMaster.clearFrameQueue() | MT_CORRECTNESS | JLM_JSR166_UTILCONCURRENT_MONITORENTER | 291 | Medium |
Synchronization performed on java.util.concurrent.ConcurrentLinkedQueue in net.sf.mbus4j.master.MBusMaster.pollFrameOrWaitUntil(long) | MT_CORRECTNESS | JLM_JSR166_UTILCONCURRENT_MONITORENTER | 523 | Medium |
Useless control flow in net.sf.mbus4j.master.MBusMaster.sendRequestUserData(Map) | STYLE | UCF_USELESS_CONTROL_FLOW | 470 | Low |
Private method net.sf.mbus4j.master.MBusMaster.removeFrame() is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 367 | Low |
Format string should use %n rather than \n in net.sf.mbus4j.master.MBusMaster.sendSlaveSelect(int, short, byte, byte, int) | BAD_PRACTICE | VA_FORMAT_STRING_USES_NEWLINE | 502 | Medium |
net.sf.mbus4j.master.MBusMaster.sendRequestUserData(Map) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 462 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Synchronization performed on java.util.concurrent.ConcurrentLinkedQueue in net.sf.mbus4j.master.MBusMaster$StreamListener.success(Frame) | MT_CORRECTNESS | JLM_JSR166_UTILCONCURRENT_MONITORENTER | 216 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
net.sf.mbus4j.master.ValueRequestPointLocator.getVifes() may expose internal representation by returning ValueRequestPointLocator.vifes | MALICIOUS_CODE | EI_EXPOSE_REP | 251 | Medium |
net.sf.mbus4j.master.ValueRequestPointLocator.setVifes(Vife[]) may expose internal representation by storing an externally mutable object into ValueRequestPointLocator.vifes | MALICIOUS_CODE | EI_EXPOSE_REP2 | 258 | Medium |