SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.4

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
62 52 0 0

Files

Class Bugs
org.sim0mq.federatestarter.FederateStarter 6
org.sim0mq.message.Sim0MQMessage 2
org.sim0mq.message.Sim0MQMessage$Builder 1
org.sim0mq.message.Sim0MQReply 2
org.sim0mq.message.federatestarter.FS2FederateStartedMessage 2
org.sim0mq.message.federatestarter.FS4FederateKilledMessage 2
org.sim0mq.message.federatestarter.FS5FederatesKilledMessage 2
org.sim0mq.message.federationmanager.FM1StartFederateMessage 2
org.sim0mq.message.federationmanager.FM2SimRunControlMessage 4
org.sim0mq.message.federationmanager.FM2SimRunControlMessage$Builder 1
org.sim0mq.message.federationmanager.FM3SetParameterMessage 2
org.sim0mq.message.federationmanager.FM6RequestStatisticsMessage 2
org.sim0mq.message.modelcontroller.MC1StatusMessage 2
org.sim0mq.message.modelcontroller.MC2AckNakMessage 2
org.sim0mq.message.modelcontroller.MC3StatisticsMessage 2
org.sim0mq.message.modelcontroller.MC4StatisticsErrorMessage 2
org.sim0mq.message.types.NumberDuration 8
org.sim0mq.message.types.NumberTime 8

org.sim0mq.federatestarter.FederateStarter

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.federatestarter.FederateStarter at new org.sim0mq.federatestarter.FederateStarter(int, Properties, int, int, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 113 Medium
Do not catch NullPointerException like in org.sim0mq.federatestarter.FederateStarter.main(String[]) STYLE DCN_NULLPOINTER_EXCEPTION 567 Medium
Found reliance on default encoding in org.sim0mq.federatestarter.FederateStarter.processKillFederate(String, Sim0MQMessage): String.getBytes() I18N DM_DEFAULT_ENCODING 449 High
Found reliance on default encoding in org.sim0mq.federatestarter.FederateStarter.waitForModelStarted(Object, Object, int): String.getBytes() I18N DM_DEFAULT_ENCODING 355 High
new org.sim0mq.federatestarter.FederateStarter(int, Properties, int, int, boolean) may expose internal representation by storing an externally mutable object into FederateStarter.softwareProperties MALICIOUS_CODE EI_EXPOSE_REP2 93 Medium
Exceptional return value of java.io.File.delete() ignored in org.sim0mq.federatestarter.FederateStarter.processKillFederate(String, Sim0MQMessage) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 485 Medium

org.sim0mq.message.Sim0MQMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.Sim0MQMessage at new org.sim0mq.message.Sim0MQMessage(boolean, Object, Object, Object, Object, Object, Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 118 Medium
Exception thrown in class org.sim0mq.message.Sim0MQMessage at new org.sim0mq.message.Sim0MQMessage(Object[], int, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 160 Medium

org.sim0mq.message.Sim0MQMessage$Builder

Bug Category Details Line Priority
Unread public/protected field: org.sim0mq.message.Sim0MQMessage$Builder.messageTypeId STYLE URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD 747 Medium

org.sim0mq.message.Sim0MQReply

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.Sim0MQReply at new org.sim0mq.message.Sim0MQReply(boolean, Object, Object, Object, Object, Object, Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 47 Medium
Exception thrown in class org.sim0mq.message.Sim0MQReply at new org.sim0mq.message.Sim0MQReply(Object[], int, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 73 Medium

org.sim0mq.message.federatestarter.FS2FederateStartedMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federatestarter.FS2FederateStartedMessage at new org.sim0mq.message.federatestarter.FS2FederateStartedMessage(Object, Object, Object, Object, Object, String, int, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 60 Medium
Exception thrown in class org.sim0mq.message.federatestarter.FS2FederateStartedMessage at new org.sim0mq.message.federatestarter.FS2FederateStartedMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 74 Medium

org.sim0mq.message.federatestarter.FS4FederateKilledMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federatestarter.FS4FederateKilledMessage at new org.sim0mq.message.federatestarter.FS4FederateKilledMessage(Object, Object, Object, Object, Object, boolean, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 53 Medium
Exception thrown in class org.sim0mq.message.federatestarter.FS4FederateKilledMessage at new org.sim0mq.message.federatestarter.FS4FederateKilledMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 66 Medium

org.sim0mq.message.federatestarter.FS5FederatesKilledMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federatestarter.FS5FederatesKilledMessage at new org.sim0mq.message.federatestarter.FS5FederatesKilledMessage(Object, Object, Object, Object, boolean, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 47 Medium
Exception thrown in class org.sim0mq.message.federatestarter.FS5FederatesKilledMessage at new org.sim0mq.message.federatestarter.FS5FederatesKilledMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 59 Medium

org.sim0mq.message.federationmanager.FM1StartFederateMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federationmanager.FM1StartFederateMessage at new org.sim0mq.message.federationmanager.FM1StartFederateMessage(Object, Object, Object, Object, String, String, String, String, String, String, String, String, String, boolean, boolean, boolean) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 152 Medium
Exception thrown in class org.sim0mq.message.federationmanager.FM1StartFederateMessage at new org.sim0mq.message.federationmanager.FM1StartFederateMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 166 Medium

org.sim0mq.message.federationmanager.FM2SimRunControlMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federationmanager.FM2SimRunControlMessage at new org.sim0mq.message.federationmanager.FM2SimRunControlMessage(Object, Object, Object, Object, Object, Object, Object, double, int, int, Map) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 93 Medium
Exception thrown in class org.sim0mq.message.federationmanager.FM2SimRunControlMessage at new org.sim0mq.message.federationmanager.FM2SimRunControlMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 113 Medium
org.sim0mq.message.federationmanager.FM2SimRunControlMessage.getStreamMap() may expose internal representation by returning FM2SimRunControlMessage.streamMap MALICIOUS_CODE EI_EXPOSE_REP 244 Medium
org.sim0mq.message.federationmanager.FM2SimRunControlMessage.createPayloadArray(Object, Object, Object, double, int, int, Map) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 173 Medium

org.sim0mq.message.federationmanager.FM2SimRunControlMessage$Builder

Bug Category Details Line Priority
org.sim0mq.message.federationmanager.FM2SimRunControlMessage$Builder.setStreamMap(Map) may expose internal representation by storing an externally mutable object into FM2SimRunControlMessage$Builder.streamMap MALICIOUS_CODE EI_EXPOSE_REP2 410 Medium

org.sim0mq.message.federationmanager.FM3SetParameterMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federationmanager.FM3SetParameterMessage at new org.sim0mq.message.federationmanager.FM3SetParameterMessage(Object, Object, Object, Object, String, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 48 Medium
Exception thrown in class org.sim0mq.message.federationmanager.FM3SetParameterMessage at new org.sim0mq.message.federationmanager.FM3SetParameterMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 60 Medium

org.sim0mq.message.federationmanager.FM6RequestStatisticsMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.federationmanager.FM6RequestStatisticsMessage at new org.sim0mq.message.federationmanager.FM6RequestStatisticsMessage(Object, Object, Object, Object, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 50 Medium
Exception thrown in class org.sim0mq.message.federationmanager.FM6RequestStatisticsMessage at new org.sim0mq.message.federationmanager.FM6RequestStatisticsMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 62 Medium

org.sim0mq.message.modelcontroller.MC1StatusMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.modelcontroller.MC1StatusMessage at new org.sim0mq.message.modelcontroller.MC1StatusMessage(Object, Object, Object, Object, Object, String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 49 Medium
Exception thrown in class org.sim0mq.message.modelcontroller.MC1StatusMessage at new org.sim0mq.message.modelcontroller.MC1StatusMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 61 Medium

org.sim0mq.message.modelcontroller.MC2AckNakMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.modelcontroller.MC2AckNakMessage at new org.sim0mq.message.modelcontroller.MC2AckNakMessage(Object, Object, Object, Object, Object, boolean, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 50 Medium
Exception thrown in class org.sim0mq.message.modelcontroller.MC2AckNakMessage at new org.sim0mq.message.modelcontroller.MC2AckNakMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 62 Medium

org.sim0mq.message.modelcontroller.MC3StatisticsMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.modelcontroller.MC3StatisticsMessage at new org.sim0mq.message.modelcontroller.MC3StatisticsMessage(Object, Object, Object, Object, String, Object) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 54 Medium
Exception thrown in class org.sim0mq.message.modelcontroller.MC3StatisticsMessage at new org.sim0mq.message.modelcontroller.MC3StatisticsMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 66 Medium

org.sim0mq.message.modelcontroller.MC4StatisticsErrorMessage

Bug Category Details Line Priority
Exception thrown in class org.sim0mq.message.modelcontroller.MC4StatisticsErrorMessage at new org.sim0mq.message.modelcontroller.MC4StatisticsErrorMessage(Object, Object, Object, Object, String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 48 Medium
Exception thrown in class org.sim0mq.message.modelcontroller.MC4StatisticsErrorMessage at new org.sim0mq.message.modelcontroller.MC4StatisticsErrorMessage(Object[]) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 60 Medium

org.sim0mq.message.types.NumberDuration

Bug Category Details Line Priority
org.sim0mq.message.types.NumberDuration.getDuration() may expose internal representation by returning NumberDuration.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP 181 Medium
org.sim0mq.message.types.NumberDuration.getFloatDuration() may expose internal representation by returning NumberDuration.floatScalar MALICIOUS_CODE EI_EXPOSE_REP 209 Medium
org.sim0mq.message.types.NumberDuration.getNumber() may expose internal representation by returning NumberDuration.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP 157 Medium
org.sim0mq.message.types.NumberDuration.getNumber() may expose internal representation by returning NumberDuration.floatScalar MALICIOUS_CODE EI_EXPOSE_REP 161 Medium
org.sim0mq.message.types.NumberDuration.getObject() may expose internal representation by returning NumberDuration.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP 133 Medium
org.sim0mq.message.types.NumberDuration.getObject() may expose internal representation by returning NumberDuration.floatScalar MALICIOUS_CODE EI_EXPOSE_REP 137 Medium
new org.sim0mq.message.types.NumberDuration(Duration) may expose internal representation by storing an externally mutable object into NumberDuration.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium
new org.sim0mq.message.types.NumberDuration(FloatDuration) may expose internal representation by storing an externally mutable object into NumberDuration.floatScalar MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium

org.sim0mq.message.types.NumberTime

Bug Category Details Line Priority
org.sim0mq.message.types.NumberTime.getFloatTime() may expose internal representation by returning NumberTime.floatScalar MALICIOUS_CODE EI_EXPOSE_REP 209 Medium
org.sim0mq.message.types.NumberTime.getNumber() may expose internal representation by returning NumberTime.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP 157 Medium
org.sim0mq.message.types.NumberTime.getNumber() may expose internal representation by returning NumberTime.floatScalar MALICIOUS_CODE EI_EXPOSE_REP 161 Medium
org.sim0mq.message.types.NumberTime.getObject() may expose internal representation by returning NumberTime.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP 133 Medium
org.sim0mq.message.types.NumberTime.getObject() may expose internal representation by returning NumberTime.floatScalar MALICIOUS_CODE EI_EXPOSE_REP 137 Medium
org.sim0mq.message.types.NumberTime.getTime() may expose internal representation by returning NumberTime.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP 181 Medium
new org.sim0mq.message.types.NumberTime(Time) may expose internal representation by storing an externally mutable object into NumberTime.doubleScalar MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium
new org.sim0mq.message.types.NumberTime(FloatTime) may expose internal representation by storing an externally mutable object into NumberTime.floatScalar MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium