FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.0

Threshold is Low

Effort is Default

Summary

ClassesBugsErrorsMissing Classes
123617100

Files

ClassBugs
fulmine.Domain1
fulmine.Type1
fulmine.context.AbstractRpcPublicationHandler1
fulmine.context.ChannelReadyEventHandler1
fulmine.context.ConnectionAvailableEventHandler1
fulmine.context.ConnectionDestroyedEventHandler1
fulmine.context.ContextDiscoveredEventHandler1
fulmine.context.ContextNotAvailableEventHandler1
fulmine.context.DelegatingRemoteUpdateHandler1
fulmine.context.EventManager1
fulmine.context.FTContext1
fulmine.context.FTContext$ContextDiscoveredEventHandler1
fulmine.context.FTContext$ContextInfoHandler1
fulmine.context.FTContext$ContextInfoStateChangeHandler1
fulmine.context.FTContext$Startup$11
fulmine.context.FulmineContext1
fulmine.context.ModelManager1
fulmine.context.RemoteContainerSubscriptionEventHandler1
fulmine.context.RemoteEventSourceNotObservedEventHandler1
fulmine.context.RemoteUpdateHandler1
fulmine.context.ResultRecordNotObservedHandler1
fulmine.context.ResultRecordObservedHandler2
fulmine.context.RpcChannelReadyEventHandler1
fulmine.context.RpcConnectionDestroyedEventHandler1
fulmine.context.RpcInvokeHandler3
fulmine.context.RpcManager1
fulmine.context.RpcManager$ResultHandler1
fulmine.context.RpcResultHandler1
fulmine.context.SendRpcEventHandler1
fulmine.demo.AddFieldParameters4
fulmine.demo.ContextParameters4
fulmine.demo.DemoApp2
fulmine.demo.DemoApp$11
fulmine.demo.DemoApp$21
fulmine.demo.DemoApp$31
fulmine.demo.DemoApp$41
fulmine.demo.GetRecordParameters3
fulmine.demo.ParameterGatherer$11
fulmine.demo.SubscribeRecordParameters1
fulmine.distribution.RemoteUpdateInvoker2
fulmine.distribution.channel.ContainerDestroyedEventHandler1
fulmine.distribution.channel.ContainerStateChangeEventHandler1
fulmine.distribution.channel.MessageEventHandler2
fulmine.distribution.channel.RxEventHandler1
fulmine.distribution.channel.TxEventHandler1
fulmine.distribution.connection.AbstractConnectionDiscoverer1
fulmine.distribution.connection.AbstractConnectionDiscoverer$HeartbeatListener1
fulmine.distribution.connection.tcp.AbstractSocketChannelConnection$MessageConsumedEventHandler1
fulmine.distribution.connection.tcp.TcpConnection2
fulmine.distribution.connection.tcp.TcpConnectionBroker2
fulmine.distribution.connection.tcp.TcpConnectionDiscoverer1
fulmine.distribution.events.MessageEvent2
fulmine.event.AbstractEvent2
fulmine.event.EventFrameExecution2
fulmine.event.EventProcessor1
fulmine.event.EventQueueItem3
fulmine.event.listener.AbstractEventHandler1
fulmine.event.listener.AsymmetricEventProcessor7
fulmine.event.listener.MultiEventListener1
fulmine.event.system.RxEvent2
fulmine.event.system.TxEvent2
fulmine.model.container.AbstractContainer3
fulmine.model.container.AbstractEventProcessingContainer1
fulmine.model.container.subscription.ContainerSubscriptionManager$ContainerCreatedEventHandler1
fulmine.model.container.subscription.ContainerSubscriptionManager$ContainerDestroyedEventHandler1
fulmine.model.container.subscription.remote.RemoteContainerSubscriptionManager$RemoteContainerCreatedEventHandler1
fulmine.model.container.subscription.remote.RemoteContainerSubscriptionManager$RemoteContainerDestroyedEventHandler1
fulmine.model.field.AbstractField1
fulmine.model.field.BooleanField1
fulmine.model.field.DoubleField1
fulmine.model.field.FieldUtils3
fulmine.model.field.FloatField1
fulmine.model.field.IntegerField1
fulmine.model.field.LongField1
fulmine.model.field.StringField2
fulmine.model.field.containerdefinition.ContainerDefinitionField1
fulmine.model.field.containerdefinition.DescriptorField1
fulmine.protocol.specification.ByteConstants8
fulmine.protocol.specification.ByteReader1
fulmine.protocol.specification.ByteWriter1
fulmine.protocol.wire.WireIdentity2
fulmine.rpc.RpcCodec1
fulmine.rpc.RpcDefinition5
fulmine.rpc.RpcHandler3
fulmine.rpc.RpcMarker2
fulmine.rpc.RpcResult2
fulmine.rpc.events.RpcInvokeEvent2
fulmine.rpc.events.SendRpcEvent2
fulmine.ui.RecordTable1
fulmine.ui.RecordTable$21
fulmine.ui.RecordTable$Format1
fulmine.ui.RecordViewer2
fulmine.ui.RecordViewer$RecordPanel2
fulmine.ui.RecordViewer$RecordPanel$UpdatingHighlightingRenderer$11
fulmine.ui.TableUpdateHandler$11
fulmine.ui.field.JCheckBoxUI1
fulmine.util.collection.AbstractCoalescingCollection1
fulmine.util.collection.CollectionFactory1
fulmine.util.collection.CollectionUtils1
fulmine.util.concurrent.Task2
fulmine.util.concurrent.TaskExecutor1
fulmine.util.io.AbstractSelectionKeyTask1
fulmine.util.io.SelectorTasks2
fulmine.util.log.Statistics2
fulmine.util.reference.AutoCreatingStore2
fulmine.util.reference.DualValue2
fulmine.util.reference.Value2
fulmine.util.reference.Values3
fulmine.util.reference.is1

fulmine.Domain

BugCategoryDetailsLine
Equals method for fulmine.Domain assumes the argument is of type DomainBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS128

fulmine.Type

BugCategoryDetailsLine
Equals method for fulmine.Type assumes the argument is of type TypeBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS177

fulmine.context.AbstractRpcPublicationHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.AbstractContainerFieldEvent in fulmine.context.AbstractRpcPublicationHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1188

fulmine.context.ChannelReadyEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.channel.ChannelReadyEvent in fulmine.context.ChannelReadyEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1505

fulmine.context.ConnectionAvailableEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.ConnectionAvailableEvent in fulmine.context.ConnectionAvailableEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1310

fulmine.context.ConnectionDestroyedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.ConnectionDestroyedEvent in fulmine.context.ConnectionDestroyedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1432

fulmine.context.ContextDiscoveredEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.ContextDiscoveredEvent in fulmine.context.ContextDiscoveredEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1142

fulmine.context.ContextNotAvailableEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.ContextNotAvailableEvent in fulmine.context.ContextNotAvailableEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1083

fulmine.context.DelegatingRemoteUpdateHandler

BugCategoryDetailsLine
DelegatingRemoteUpdateHandler.delegate not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

fulmine.context.EventManager

BugCategoryDetailsLine
Class fulmine.context.EventManager is final but declares protected field fulmine.context.EventManager.processorsSTYLECI_CONFUSED_INHERITANCENot available

fulmine.context.FTContext

BugCategoryDetailsLine
Dead store to provisionalActive in fulmine.context.FTContext.setFTContextState(String, boolean)STYLEDLS_DEAD_LOCAL_STORE1348

fulmine.context.FTContext$ContextDiscoveredEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.ContextDiscoveredEvent in fulmine.context.FTContext$ContextDiscoveredEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST227

fulmine.context.FTContext$ContextInfoHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.impl.Record in fulmine.context.FTContext$ContextInfoHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST260

fulmine.context.FTContext$ContextInfoStateChangeHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.ContainerStateChangeEvent in fulmine.context.FTContext$ContextInfoStateChangeHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST295

fulmine.context.FTContext$Startup$1

BugCategoryDetailsLine
Wait not in loop in fulmine.context.FTContext$Startup$1.run()MT_CORRECTNESSWA_NOT_IN_LOOP750

fulmine.context.FulmineContext

BugCategoryDetailsLine
fulmine.context.FulmineContext.<static initializer>() invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT120

fulmine.context.ModelManager

BugCategoryDetailsLine
Method fulmine.context.ModelManager.doGetAll(IAutoCreatingStore) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR286

fulmine.context.RemoteContainerSubscriptionEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.context.RemoteContainerSubscriptionEvent in fulmine.context.RemoteContainerSubscriptionEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1693

fulmine.context.RemoteEventSourceNotObservedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.event.system.EventSourceNotObservedEvent in fulmine.context.RemoteEventSourceNotObservedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1739

fulmine.context.RemoteUpdateHandler

BugCategoryDetailsLine
RemoteUpdateHandler.context not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

fulmine.context.ResultRecordNotObservedHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.event.system.EventSourceNotObservedEvent in fulmine.context.ResultRecordNotObservedHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1441

fulmine.context.ResultRecordObservedHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.event.system.EventSourceObservedEvent in fulmine.context.ResultRecordObservedHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1404
Using notify rather than notifyAll in fulmine.context.ResultRecordObservedHandler.handle(EventSourceObservedEvent)MT_CORRECTNESSNO_NOTIFY_NOT_NOTIFYALL1429

fulmine.context.RpcChannelReadyEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.channel.ChannelReadyEvent in fulmine.context.RpcChannelReadyEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1113

fulmine.context.RpcConnectionDestroyedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.ConnectionDestroyedEvent in fulmine.context.RpcConnectionDestroyedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1058

fulmine.context.RpcInvokeHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.rpc.events.RpcInvokeEvent in fulmine.context.RpcInvokeHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST796
Exception is caught when Exception is not thrown in fulmine.context.RpcInvokeHandler.handleTask(RpcInvokeEvent)STYLEREC_CATCH_EXCEPTION913
Wait not in loop in fulmine.context.RpcInvokeHandler.handleTask(RpcInvokeEvent)MT_CORRECTNESSWA_NOT_IN_LOOP849

fulmine.context.RpcManager

BugCategoryDetailsLine
Wait not in loop in fulmine.context.RpcManager.invoke(String, String, IField[])MT_CORRECTNESSWA_NOT_IN_LOOP258

fulmine.context.RpcManager$ResultHandler

BugCategoryDetailsLine
Should fulmine.context.RpcManager$ResultHandler be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

fulmine.context.RpcResultHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.IContainer in fulmine.context.RpcResultHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST953

fulmine.context.SendRpcEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.rpc.events.SendRpcEvent in fulmine.context.SendRpcEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1366

fulmine.demo.AddFieldParameters

BugCategoryDetailsLine
Class fulmine.demo.AddFieldParameters defines non-transient non-serializable instance field applicationCodeBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.AddFieldParameters defines non-transient non-serializable instance field identityBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.AddFieldParameters defines non-transient non-serializable instance field permissionCodeBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.AddFieldParameters defines non-transient non-serializable instance field typeBAD_PRACTICESE_BAD_FIELDNot available

fulmine.demo.ContextParameters

BugCategoryDetailsLine
Class fulmine.demo.ContextParameters defines non-transient non-serializable instance field applicationCodeBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.ContextParameters defines non-transient non-serializable instance field contextNameBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.ContextParameters defines non-transient non-serializable instance field permissionCodeBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.ContextParameters defines non-transient non-serializable instance field tcpPortBAD_PRACTICESE_BAD_FIELDNot available

fulmine.demo.DemoApp

BugCategoryDetailsLine
Unconditional wait in fulmine.demo.DemoApp.start()MT_CORRECTNESSUW_UNCOND_WAIT92
Wait not in loop in fulmine.demo.DemoApp.start()MT_CORRECTNESSWA_NOT_IN_LOOP92

fulmine.demo.DemoApp$1

BugCategoryDetailsLine
The class fulmine.demo.DemoApp$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.demo.DemoApp$2

BugCategoryDetailsLine
The class fulmine.demo.DemoApp$2 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.demo.DemoApp$3

BugCategoryDetailsLine
The class fulmine.demo.DemoApp$3 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.demo.DemoApp$4

BugCategoryDetailsLine
The class fulmine.demo.DemoApp$4 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.demo.GetRecordParameters

BugCategoryDetailsLine
Class fulmine.demo.GetRecordParameters defines non-transient non-serializable instance field domainBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.GetRecordParameters defines non-transient non-serializable instance field identityBAD_PRACTICESE_BAD_FIELDNot available
Class fulmine.demo.GetRecordParameters defines non-transient non-serializable instance field typeBAD_PRACTICESE_BAD_FIELDNot available

fulmine.demo.ParameterGatherer$1

BugCategoryDetailsLine
Using notify rather than notifyAll in fulmine.demo.ParameterGatherer$1.actionPerformed(ActionEvent)MT_CORRECTNESSNO_NOTIFY_NOT_NOTIFYALL372

fulmine.demo.SubscribeRecordParameters

BugCategoryDetailsLine
Class fulmine.demo.SubscribeRecordParameters defines non-transient non-serializable instance field contextIdentityBAD_PRACTICESE_BAD_FIELDNot available

fulmine.distribution.RemoteUpdateInvoker

BugCategoryDetailsLine
Equals method for fulmine.distribution.RemoteUpdateInvoker assumes the argument is of type RemoteUpdateInvokerBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS178
Dead store to prime in fulmine.distribution.RemoteUpdateInvoker.hashCode()STYLEDLS_DEAD_LOCAL_STORE157

fulmine.distribution.channel.ContainerDestroyedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.ContainerDestroyedEvent in fulmine.distribution.channel.ContainerDestroyedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1021

fulmine.distribution.channel.ContainerStateChangeEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.ContainerStateChangeEvent in fulmine.distribution.channel.ContainerStateChangeEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST879

fulmine.distribution.channel.MessageEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.MessageEvent in fulmine.distribution.channel.MessageEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST1068
Exception is caught when Exception is not thrown in fulmine.distribution.channel.MessageEventHandler.handle(MessageEvent)STYLEREC_CATCH_EXCEPTION1175

fulmine.distribution.channel.RxEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.event.system.RxEvent in fulmine.distribution.channel.RxEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST920

fulmine.distribution.channel.TxEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.event.system.TxEvent in fulmine.distribution.channel.TxEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST965

fulmine.distribution.connection.AbstractConnectionDiscoverer

BugCategoryDetailsLine
Exception is caught when Exception is not thrown in fulmine.distribution.connection.AbstractConnectionDiscoverer.AbstractConnectionDiscoverer(IFrameworkContext, String, int, String)STYLEREC_CATCH_EXCEPTION661

fulmine.distribution.connection.AbstractConnectionDiscoverer$HeartbeatListener

BugCategoryDetailsLine
Exception is caught when Exception is not thrown in fulmine.distribution.connection.AbstractConnectionDiscoverer$HeartbeatListener.run()STYLEREC_CATCH_EXCEPTION469

fulmine.distribution.connection.tcp.AbstractSocketChannelConnection$MessageConsumedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.distribution.events.MessageConsumedEvent in fulmine.distribution.connection.tcp.AbstractSocketChannelConnection$MessageConsumedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST60

fulmine.distribution.connection.tcp.TcpConnection

BugCategoryDetailsLine
Unsigned right shift cast to short/byte in fulmine.distribution.connection.tcp.TcpConnection.encode(byte[])STYLEICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT152
Class fulmine.distribution.connection.tcp.TcpConnection implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.distribution.connection.tcp.TcpConnectionBroker

BugCategoryDetailsLine
fulmine.distribution.connection.tcp.TcpConnectionBroker.doStart() invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT300
fulmine.distribution.connection.tcp.TcpConnectionBroker.<static initializer>() invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT97

fulmine.distribution.connection.tcp.TcpConnectionDiscoverer

BugCategoryDetailsLine
Class fulmine.distribution.connection.tcp.TcpConnectionDiscoverer implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.distribution.events.MessageEvent

BugCategoryDetailsLine
fulmine.distribution.events.MessageEvent.getData() may expose internal representation by returning MessageEvent.dataMALICIOUS_CODEEI_EXPOSE_REP68
fulmine.distribution.events.MessageEvent.MessageEvent(IConnection, byte[]) may expose internal representation by storing an externally mutable object into MessageEvent.dataMALICIOUS_CODEEI_EXPOSE_REP258

fulmine.event.AbstractEvent

BugCategoryDetailsLine
Comparison of String objects using == or != in fulmine.event.AbstractEvent.getString(boolean) BAD_PRACTICEES_COMPARING_STRINGS_WITH_EQ193
AbstractEvent.address not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

fulmine.event.EventFrameExecution

BugCategoryDetailsLine
Equals method for fulmine.event.EventFrameExecution assumes the argument is of type EventFrameExecutionBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS80
Dead store to prime in fulmine.event.EventFrameExecution.hashCode()STYLEDLS_DEAD_LOCAL_STORE63

fulmine.event.EventProcessor

BugCategoryDetailsLine
Class fulmine.event.EventProcessor implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.event.EventQueueItem

BugCategoryDetailsLine
Equals method for fulmine.event.EventQueueItem assumes the argument is of type EventQueueItemBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS124
Dead store to prime in fulmine.event.EventQueueItem.hashCode()STYLEDLS_DEAD_LOCAL_STORE104
fulmine.event.EventQueueItem.isStatisticsEvent isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL34

fulmine.event.listener.AbstractEventHandler

BugCategoryDetailsLine
fulmine.event.listener.AbstractEventHandler.getEventTypeFilter() may expose internal representation by returning AbstractEventHandler.eventFilterMALICIOUS_CODEEI_EXPOSE_REP184

fulmine.event.listener.AsymmetricEventProcessor

BugCategoryDetailsLine
Invocation of toString on an array in fulmine.event.listener.AsymmetricEventProcessor.toString()CORRECTNESSDMI_INVOKING_TOSTRING_ON_ARRAY534
fulmine.event.listener.AsymmetricEventProcessor.getDrivenSources() may expose internal representation by returning AsymmetricEventProcessor.drivenSourcesMALICIOUS_CODEEI_EXPOSE_REP415
fulmine.event.listener.AsymmetricEventProcessor.AsymmetricEventProcessor(IEventManager, Class[], IEventSource, Class[], IEventSource[]) may expose internal representation by storing an externally mutable object into AsymmetricEventProcessor.drivenEventTypeFilterMALICIOUS_CODEEI_EXPOSE_REP2231
fulmine.event.listener.AsymmetricEventProcessor.AsymmetricEventProcessor(IEventManager, Class[], IEventSource, Class[], IEventSource[]) may expose internal representation by storing an externally mutable object into AsymmetricEventProcessor.drivenSourcesMALICIOUS_CODEEI_EXPOSE_REP2233
fulmine.event.listener.AsymmetricEventProcessor.AsymmetricEventProcessor(IEventManager, Class[], IEventSource, Class[], IEventSource[]) may expose internal representation by storing an externally mutable object into AsymmetricEventProcessor.driverEventTypeFilterMALICIOUS_CODEEI_EXPOSE_REP2230
Redundant nullcheck of ?, which is known to be non-null in fulmine.event.listener.AsymmetricEventProcessor.toString()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE534
Class fulmine.event.listener.AsymmetricEventProcessor implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.event.listener.MultiEventListener

BugCategoryDetailsLine
fulmine.event.listener.MultiEventListener.getEventTypeFilter() may expose internal representation by returning MultiEventListener.filterMALICIOUS_CODEEI_EXPOSE_REP178

fulmine.event.system.RxEvent

BugCategoryDetailsLine
fulmine.event.system.RxEvent.getBuffer() may expose internal representation by returning RxEvent.bufferMALICIOUS_CODEEI_EXPOSE_REP65
fulmine.event.system.RxEvent.RxEvent(IEventSource, byte[]) may expose internal representation by storing an externally mutable object into RxEvent.bufferMALICIOUS_CODEEI_EXPOSE_REP255

fulmine.event.system.TxEvent

BugCategoryDetailsLine
fulmine.event.system.TxEvent.getBuffer() may expose internal representation by returning TxEvent.bufferMALICIOUS_CODEEI_EXPOSE_REP79
fulmine.event.system.TxEvent.TxEvent(IEventSource, byte[], IEventFrameExecution, IEventFrameExecution, long) may expose internal representation by storing an externally mutable object into TxEvent.bufferMALICIOUS_CODEEI_EXPOSE_REP268

fulmine.model.container.AbstractContainer

BugCategoryDetailsLine
Dead store to copy in fulmine.model.container.AbstractContainer.containerToFormattedString(String, boolean)STYLEDLS_DEAD_LOCAL_STORE1046
Using notify rather than notifyAll in fulmine.model.container.AbstractContainer.unlockFrame()MT_CORRECTNESSNO_NOTIFY_NOT_NOTIFYALL1000
Class fulmine.model.container.AbstractContainer implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.model.container.AbstractEventProcessingContainer

BugCategoryDetailsLine
Class fulmine.model.container.AbstractEventProcessingContainer implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.model.container.subscription.ContainerSubscriptionManager$ContainerCreatedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.ContainerCreatedEvent in fulmine.model.container.subscription.ContainerSubscriptionManager$ContainerCreatedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST63

fulmine.model.container.subscription.ContainerSubscriptionManager$ContainerDestroyedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.ContainerDestroyedEvent in fulmine.model.container.subscription.ContainerSubscriptionManager$ContainerDestroyedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST85

fulmine.model.container.subscription.remote.RemoteContainerSubscriptionManager$RemoteContainerCreatedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.RemoteContainerCreatedEvent in fulmine.model.container.subscription.remote.RemoteContainerSubscriptionManager$RemoteContainerCreatedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST57

fulmine.model.container.subscription.remote.RemoteContainerSubscriptionManager$RemoteContainerDestroyedEventHandler

BugCategoryDetailsLine
Unchecked/unconfirmed cast from fulmine.event.IEvent to fulmine.model.container.events.RemoteContainerDestroyedEvent in fulmine.model.container.subscription.remote.RemoteContainerSubscriptionManager$RemoteContainerDestroyedEventHandler.handle(IEvent)STYLEBC_UNCONFIRMED_CAST94

fulmine.model.field.AbstractField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.AbstractField.hashCode()STYLEDLS_DEAD_LOCAL_STORE167

fulmine.model.field.BooleanField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.BooleanField.hashCode()STYLEDLS_DEAD_LOCAL_STORE143

fulmine.model.field.DoubleField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.DoubleField.hashCode()STYLEDLS_DEAD_LOCAL_STORE143

fulmine.model.field.FieldUtils

BugCategoryDetailsLine
Exception is caught when Exception is not thrown in fulmine.model.field.FieldUtils.createFromString(Class, String, String)STYLEREC_CATCH_EXCEPTION59
Exception is caught when Exception is not thrown in fulmine.model.field.FieldUtils.createFromString(String, String)STYLEREC_CATCH_EXCEPTION91
Exception is caught when Exception is not thrown in fulmine.model.field.FieldUtils.createFromString(String, String, byte, short)STYLEREC_CATCH_EXCEPTION127

fulmine.model.field.FloatField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.FloatField.hashCode()STYLEDLS_DEAD_LOCAL_STORE143

fulmine.model.field.IntegerField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.IntegerField.hashCode()STYLEDLS_DEAD_LOCAL_STORE143

fulmine.model.field.LongField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.LongField.hashCode()STYLEDLS_DEAD_LOCAL_STORE143

fulmine.model.field.StringField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.StringField.hashCode()STYLEDLS_DEAD_LOCAL_STORE131
Comparison of String parameter using == or != in fulmine.model.field.StringField.set(String) BAD_PRACTICEES_COMPARING_PARAMETER_STRING_WITH_EQ92

fulmine.model.field.containerdefinition.ContainerDefinitionField

BugCategoryDetailsLine
fulmine.model.field.containerdefinition.ContainerDefinitionField defines equals but not hashCodeBAD_PRACTICEHE_EQUALS_NO_HASHCODE482-490

fulmine.model.field.containerdefinition.DescriptorField

BugCategoryDetailsLine
Dead store to prime in fulmine.model.field.containerdefinition.DescriptorField.hashCode()STYLEDLS_DEAD_LOCAL_STORE199

fulmine.protocol.specification.ByteConstants

BugCategoryDetailsLine
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG40
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG41
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG42
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG43
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG44
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG45
Result of integer multiplication cast to long in fulmine.protocol.specification.ByteConstants.<static initializer>()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG46
fulmine.protocol.specification.ByteConstants.bitShiftForByteOrdinal is a mutable arrayMALICIOUS_CODEMS_MUTABLE_ARRAY33

fulmine.protocol.specification.ByteReader

BugCategoryDetailsLine
fulmine.protocol.specification.ByteReader.fromBytes(byte[]) invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT210

fulmine.protocol.specification.ByteWriter

BugCategoryDetailsLine
Unsigned right shift cast to short/byte in fulmine.protocol.specification.ByteWriter.writeIntegerAsBytes(int, byte[][], int, int)STYLEICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT256

fulmine.protocol.wire.WireIdentity

BugCategoryDetailsLine
Equals method for fulmine.protocol.wire.WireIdentity assumes the argument is of type WireIdentityBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS169
Dead store to prime in fulmine.protocol.wire.WireIdentity.hashCode()STYLEDLS_DEAD_LOCAL_STORE149

fulmine.rpc.RpcCodec

BugCategoryDetailsLine
RpcCodec.rpcTokens not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

fulmine.rpc.RpcDefinition

BugCategoryDetailsLine
Equals method for fulmine.rpc.RpcDefinition assumes the argument is of type RpcDefinitionBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS163
Dead store to prime in fulmine.rpc.RpcDefinition.hashCode()STYLEDLS_DEAD_LOCAL_STORE144
fulmine.rpc.RpcDefinition.getArgumentTypes() may expose internal representation by returning RpcDefinition.argTypesMALICIOUS_CODEEI_EXPOSE_REP116
fulmine.rpc.RpcDefinition.RpcDefinition(Class, String, Class[]) may expose internal representation by storing an externally mutable object into RpcDefinition.argTypesMALICIOUS_CODEEI_EXPOSE_REP269
Unwritten field: fulmine.rpc.RpcDefinition.remoteContextIdentityCORRECTNESSUWF_UNWRITTEN_FIELD126

fulmine.rpc.RpcHandler

BugCategoryDetailsLine
Equals method for fulmine.rpc.RpcHandler assumes the argument is of type RpcHandlerBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS617
Dead store to prime in fulmine.rpc.RpcHandler.hashCode()STYLEDLS_DEAD_LOCAL_STORE593
fulmine.rpc.RpcHandler.handle(IRpcDefinition, IField[]) invokes java.lang.reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged blockBAD_PRACTICEDP_DO_INSIDE_DO_PRIVILEGED565

fulmine.rpc.RpcMarker

BugCategoryDetailsLine
Equals method for fulmine.rpc.RpcMarker assumes the argument is of type RpcMarkerBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS75
Dead store to prime in fulmine.rpc.RpcMarker.hashCode()STYLEDLS_DEAD_LOCAL_STORE58

fulmine.rpc.RpcResult

BugCategoryDetailsLine
Equals method for fulmine.rpc.RpcResult assumes the argument is of type RpcResultBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS207
Dead store to prime in fulmine.rpc.RpcResult.hashCode()STYLEDLS_DEAD_LOCAL_STORE182

fulmine.rpc.events.RpcInvokeEvent

BugCategoryDetailsLine
fulmine.rpc.events.RpcInvokeEvent.getArguments() may expose internal representation by returning RpcInvokeEvent.argumentsMALICIOUS_CODEEI_EXPOSE_REP127
fulmine.rpc.events.RpcInvokeEvent.RpcInvokeEvent(IEventManager, byte[]) may expose internal representation by storing an externally mutable object into RpcInvokeEvent.rpcDataMALICIOUS_CODEEI_EXPOSE_REP277

fulmine.rpc.events.SendRpcEvent

BugCategoryDetailsLine
fulmine.rpc.events.SendRpcEvent.getRpcData() may expose internal representation by returning SendRpcEvent.rpcDataMALICIOUS_CODEEI_EXPOSE_REP72
fulmine.rpc.events.SendRpcEvent.SendRpcEvent(IEventManager, String, byte[]) may expose internal representation by storing an externally mutable object into SendRpcEvent.rpcDataMALICIOUS_CODEEI_EXPOSE_REP252

fulmine.ui.RecordTable

BugCategoryDetailsLine
Class fulmine.ui.RecordTable defines non-transient non-serializable instance field updateHandlerBAD_PRACTICESE_BAD_FIELDNot available

fulmine.ui.RecordTable$2

BugCategoryDetailsLine
The class fulmine.ui.RecordTable$2 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.ui.RecordTable$Format

BugCategoryDetailsLine
Should fulmine.ui.RecordTable$Format be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

fulmine.ui.RecordViewer

BugCategoryDetailsLine
Class fulmine.ui.RecordViewer defines non-transient non-serializable instance field panelsBAD_PRACTICESE_BAD_FIELDNot available
fulmine.util.reference.AutoCreatingStore stored into non-transient field RecordViewer.panelsBAD_PRACTICESE_BAD_FIELD_STORE363

fulmine.ui.RecordViewer$RecordPanel

BugCategoryDetailsLine
Class fulmine.ui.RecordViewer$RecordPanel defines non-transient non-serializable instance field updateHandlerBAD_PRACTICESE_BAD_FIELDNot available
Should fulmine.ui.RecordViewer$RecordPanel be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

fulmine.ui.RecordViewer$RecordPanel$UpdatingHighlightingRenderer$1

BugCategoryDetailsLine
The class fulmine.ui.RecordViewer$RecordPanel$UpdatingHighlightingRenderer$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.ui.TableUpdateHandler$1

BugCategoryDetailsLine
The class fulmine.ui.TableUpdateHandler$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

fulmine.ui.field.JCheckBoxUI

BugCategoryDetailsLine
fulmine.ui.field.JCheckBoxUI.getCellEditorValue() invokes inefficient Boolean constructor; use Boolean.valueOf(...) insteadPERFORMANCEDM_BOOLEAN_CTOR57

fulmine.util.collection.AbstractCoalescingCollection

BugCategoryDetailsLine
Dead store to prime in fulmine.util.collection.AbstractCoalescingCollection.hashCode()STYLEDLS_DEAD_LOCAL_STORE208

fulmine.util.collection.CollectionFactory

BugCategoryDetailsLine
fulmine.util.collection.CollectionFactory.<static initializer>() invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT52

fulmine.util.collection.CollectionUtils

BugCategoryDetailsLine
Dead store to level in fulmine.util.collection.CollectionUtils.unindent()STYLEDLS_DEAD_LOCAL_STORE113

fulmine.util.concurrent.Task

BugCategoryDetailsLine
Equals method for fulmine.util.concurrent.Task assumes the argument is of type TaskBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS106
Dead store to prime in fulmine.util.concurrent.Task.hashCode()STYLEDLS_DEAD_LOCAL_STORE84

fulmine.util.concurrent.TaskExecutor

BugCategoryDetailsLine
Using notify rather than notifyAll in fulmine.util.concurrent.TaskExecutor.execute(Runnable)MT_CORRECTNESSNO_NOTIFY_NOT_NOTIFYALL248

fulmine.util.io.AbstractSelectionKeyTask

BugCategoryDetailsLine
AbstractSelectionKeyTask.selectionKey not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

fulmine.util.io.SelectorTasks

BugCategoryDetailsLine
Exception is caught when Exception is not thrown in fulmine.util.io.SelectorTasks.process()STYLEREC_CATCH_EXCEPTION246
Class fulmine.util.io.SelectorTasks implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

fulmine.util.log.Statistics

BugCategoryDetailsLine
Class fulmine.util.log.Statistics implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available
Unread field: fulmine.util.log.Statistics.lastStatisticsLogTimePERFORMANCEURF_UNREAD_FIELD70

fulmine.util.reference.AutoCreatingStore

BugCategoryDetailsLine
Equals method for fulmine.util.reference.AutoCreatingStore assumes the argument is of type AutoCreatingStoreBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS135
Dead store to prime in fulmine.util.reference.AutoCreatingStore.hashCode()STYLEDLS_DEAD_LOCAL_STORE116

fulmine.util.reference.DualValue

BugCategoryDetailsLine
Equals method for fulmine.util.reference.DualValue assumes the argument is of type DualValueBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS94
Dead store to prime in fulmine.util.reference.DualValue.hashCode()STYLEDLS_DEAD_LOCAL_STORE76

fulmine.util.reference.Value

BugCategoryDetailsLine
Equals method for fulmine.util.reference.Value assumes the argument is of type ValueBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS78
Dead store to prime in fulmine.util.reference.Value.hashCode()STYLEDLS_DEAD_LOCAL_STORE60

fulmine.util.reference.Values

BugCategoryDetailsLine
Equals method for fulmine.util.reference.Values assumes the argument is of type ValuesBAD_PRACTICEBC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS94
Dead store to prime in fulmine.util.reference.Values.hashCode()STYLEDLS_DEAD_LOCAL_STORE77
fulmine.util.reference.Values.Values(Object[]) may expose internal representation by storing an externally mutable object into Values.valuesMALICIOUS_CODEEI_EXPOSE_REP234

fulmine.util.reference.is

BugCategoryDetailsLine
The class name fulmine.util.reference.is doesn't start with an upper case letterBAD_PRACTICENM_CLASS_NAMING_CONVENTIONNot available