SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.6

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
25 22 0 0

Files

Class Bugs
nl.tudelft.simulation.naming.context.FileContextFactory 2
nl.tudelft.simulation.naming.context.JvmContext 3
nl.tudelft.simulation.naming.context.JvmContextFactory 2
nl.tudelft.simulation.naming.context.RemoteContext 2
nl.tudelft.simulation.naming.context.RemoteContext$RemoteChangeEventProducer 2
nl.tudelft.simulation.naming.context.RemoteContextFactory 2
nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl 1
nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl$PatternListener 3
nl.tudelft.simulation.naming.context.event.InitialEventContext 5

nl.tudelft.simulation.naming.context.FileContextFactory

Bug Category Details Line Priority
nl.tudelft.simulation.naming.context.FileContextFactory.getInitialContext(Hashtable, String) may expose internal representation by returning FileContextFactory.context MALICIOUS_CODE EI_EXPOSE_REP 55 Medium
Static field "context" is modified by an instance level synchronized method. MT_CORRECTNESS SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA 42 Medium

nl.tudelft.simulation.naming.context.JvmContext

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.naming.context.JvmContext at new nl.tudelft.simulation.naming.context.JvmContext(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 56 Medium
Exception thrown in class nl.tudelft.simulation.naming.context.JvmContext at new nl.tudelft.simulation.naming.context.JvmContext(ContextInterface, String) 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
nl.tudelft.simulation.naming.context.JvmContext.bindings() may expose internal representation by returning JvmContext.elements MALICIOUS_CODE EI_EXPOSE_REP 417 Medium

nl.tudelft.simulation.naming.context.JvmContextFactory

Bug Category Details Line Priority
nl.tudelft.simulation.naming.context.JvmContextFactory.getInitialContext(Hashtable, String) may expose internal representation by returning JvmContextFactory.context MALICIOUS_CODE EI_EXPOSE_REP 30 Medium
Static field "context" is modified by an instance level synchronized method. MT_CORRECTNESS SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA 28 Medium

nl.tudelft.simulation.naming.context.RemoteContext

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.naming.context.RemoteContext at new nl.tudelft.simulation.naming.context.RemoteContext(String, int, String, ContextInterface, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 71 Medium
Exception thrown in class nl.tudelft.simulation.naming.context.RemoteContext at new nl.tudelft.simulation.naming.context.RemoteContext(URL, ContextInterface, String) 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

nl.tudelft.simulation.naming.context.RemoteContext$RemoteChangeEventProducer

Bug Category Details Line Priority
new nl.tudelft.simulation.naming.context.RemoteContext$RemoteChangeEventProducer(RemoteContext, String, int, String) may expose internal representation by storing an externally mutable object into RemoteContext$RemoteChangeEventProducer.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 446 Medium
Should nl.tudelft.simulation.naming.context.RemoteContext$RemoteChangeEventProducer be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 446-460 Medium

nl.tudelft.simulation.naming.context.RemoteContextFactory

Bug Category Details Line Priority
nl.tudelft.simulation.naming.context.RemoteContextFactory.getInitialContext(Hashtable, String) may expose internal representation by returning RemoteContextFactory.context MALICIOUS_CODE EI_EXPOSE_REP 43 Medium
Static field "context" is modified by an instance level synchronized method. MT_CORRECTNESS SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA 100 Medium

nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl

Bug Category Details Line Priority
Exception thrown in class nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl at new nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl(EventContext) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 110 Medium

nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl$PatternListener

Bug Category Details Line Priority
new nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl$PatternListener(ContextEventProducerImpl, Pattern, EventListener) may expose internal representation by storing an externally mutable object into ContextEventProducerImpl$PatternListener.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 398 Medium
nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl$PatternListener is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 398-419 Medium
Should nl.tudelft.simulation.naming.context.event.ContextEventProducerImpl$PatternListener be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 398-419 Medium

nl.tudelft.simulation.naming.context.event.InitialEventContext

Bug Category Details Line Priority
Hard coded reference to an absolute pathname in nl.tudelft.simulation.naming.context.event.InitialEventContext.buildEnvironment(Hashtable) STYLE DMI_HARDCODED_ABSOLUTE_FILENAME 210 Medium
Incorrect lazy initialization and update of static field nl.tudelft.simulation.naming.context.event.InitialEventContext.INSTANCE in nl.tudelft.simulation.naming.context.event.InitialEventContext.instantiate(Hashtable, String) MT_CORRECTNESS LI_LAZY_INIT_UPDATE_STATIC 145-150 High
Public static nl.tudelft.simulation.naming.context.event.InitialEventContext.instantiate(Hashtable, String) may expose internal representation by returning InitialEventContext.INSTANCE MALICIOUS_CODE MS_EXPOSE_REP 147 Medium
Instance-getter method of class using singleton design pattern (nl.tudelft.simulation.naming.context.event.InitialEventContext) is not synchronized. CORRECTNESS SING_SINGLETON_GETTER_NOT_SYNCHRONIZED 145-152 Medium
Class (nl.tudelft.simulation.naming.context.event.InitialEventContext) using singleton design pattern directly or indirectly implements Serializable interface. CORRECTNESS SING_SINGLETON_IMPLEMENTS_SERIALIZABLE 92-699 Medium