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 |
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 |