FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.0.0

Threshold is Low

Effort is Max

Files

java.lang.jdynpur.Tracer

BugCategoryDetailsLine
java.lang.jdynpur.Tracer.writeEvent(int,int) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT174
java.lang.jdynpur.Tracer.<clinit>() invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT147
java.lang.jdynpur.Tracer.writeParameterEvent(int,Object) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT236
java.lang.jdynpur.Tracer.writeDynamicMethodEvent(int,int,Object) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT204
java.lang.jdynpur.Tracer.objectArrayModified(Object,int,Object) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT473
java.lang.jdynpur.Tracer.objectFieldWritten(Object,Object,int) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT323
java.lang.jdynpur.Tracer.writeMethodIdentifier(int) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT257
java.lang.jdynpur.Tracer.writeFieldIdentifier(int) invokes System.exit(...), which shuts down the entire virtual machineCORRECTNESSDM_EXIT286

org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler

BugCategoryDetailsLine
Write to static field org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.state from instance method org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.startElement(String,String,String,org.xml.sax.Attributes)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD63
Write to static field org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.state from instance method org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.startElement(String,String,String,org.xml.sax.Attributes)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD65
Write to static field org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.state from instance method org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.startElement(String,String,String,org.xml.sax.Attributes)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD67
Write to static field org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.state from instance method org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.startElement(String,String,String,org.xml.sax.Attributes)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD69
Write to static field org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.state from instance method org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.startElement(String,String,String,org.xml.sax.Attributes)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD71
Dead store to access in method org.softevo.jdynpur.eval.JDynpurResultsFileParser$ParseHandler.startElement(String,String,String,org.xml.sax.Attributes)STYLEDLS_DEAD_LOCAL_STORE76

org.softevo.jdynpur.eval.JDynpurResultsFileParser

BugCategoryDetailsLine
Hard coded reference to an absolute pathname in org.softevo.jdynpur.eval.JDynpurResultsFileParser.main(String[])CORRECTNESSDMI_HARDCODED_ABSOLUTE_FILENAME114

org.softevo.jdynpur.eval.MethodExecutionDisplayer

BugCategoryDetailsLine
Dead store to suffix in method org.softevo.jdynpur.eval.MethodExecutionDisplayer.main(String[])STYLEDLS_DEAD_LOCAL_STORE241

org.softevo.jdynpur.eval.MultiplePurityTraceAnalyser

BugCategoryDetailsLine
org.softevo.jdynpur.eval.MultiplePurityTraceAnalyser.main(String[]) invokes dubious Boolean constructor; use Boolean.valueOf(...) insteadPERFORMANCEDM_BOOLEAN_CTOR223
Method org.softevo.jdynpur.eval.MultiplePurityTraceAnalyser.analyse() makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR171
Method org.softevo.jdynpur.eval.MultiplePurityTraceAnalyser.analyse() makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR174

org.softevo.jdynpur.eval.MutabilityResultsComparer

BugCategoryDetailsLine
Method org.softevo.jdynpur.eval.MutabilityResultsComparer.compareMutabilityResults(java.util.HashMap,java.util.HashMap) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR81

org.softevo.jdynpur.eval.PurityKitResultFileParser

BugCategoryDetailsLine
Hard coded reference to an absolute pathname in org.softevo.jdynpur.eval.PurityKitResultFileParser.main(String[])CORRECTNESSDMI_HARDCODED_ABSOLUTE_FILENAME176
org.softevo.jdynpur.eval.PurityKitResultFileParser.parseResultFile(java.io.File) may fail to close stream on exceptionCORRECTNESSOS_OPEN_STREAM_EXCEPTION_PATH15

org.softevo.jdynpur.eval.PurityResults

BugCategoryDetailsLine
Method org.softevo.jdynpur.eval.PurityResults.addParameterElements(org.w3c.dom.Element,org.w3c.dom.Document,java.util.HashMap) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR142
Method org.softevo.jdynpur.eval.PurityResults.addMethodElements(org.w3c.dom.Element,org.w3c.dom.Document,java.util.HashMap) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR177

org.softevo.jdynpur.eval.PurityTraceAnalyser

BugCategoryDetailsLine
org.softevo.jdynpur.eval.PurityTraceAnalyser.main(String[]) invokes dubious Boolean constructor; use Boolean.valueOf(...) insteadPERFORMANCEDM_BOOLEAN_CTOR878
org.softevo.jdynpur.eval.PurityTraceAnalyser.analyse(boolean,boolean) may fail to close streamCORRECTNESSOS_OPEN_STREAM232

org.softevo.jdynpur.runtime.OnTheFlyInstrumenter

BugCategoryDetailsLine
Should org.softevo.jdynpur.runtime.OnTheFlyInstrumenter.loadClass(String) return a zero length array rather than null?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS113

org.softevo.jdynpur.util.SibrelibDynpurConverter

BugCategoryDetailsLine
java.lang.jdynpur.Tracer.methodIdentifierMap isn't final and can't be protected from malicious code MALICIOUS_CODEMS_CANNOT_BE_FINAL30
java.lang.jdynpur.Tracer.fieldIdentfierMap isn't final and can't be protected from malicious code MALICIOUS_CODEMS_CANNOT_BE_FINAL32
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfMethodsExamined isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL15
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfMethodsClassifiedPureButImpure isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL16
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfMethodsClassifiedImpureButPure isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL17
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfParametersClassifiedMutableButImmutable isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL18
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfClassifiedParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL19
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfKitMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL20
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfKitParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL21
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfParametersClassifiedImmutableButMutable isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL22
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfPureMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL23
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfImpureMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL24
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfKitPureMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL25
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfKitImpureMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL26
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfCorrectlyPureMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL27
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfCorrectlyImpureMethods isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL28
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfKitImmutableParamters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL29
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfKitMutableParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL30
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfCorrectlyImmutableParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL31
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfCorrectlyMutableParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL32
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfAllKitImutableParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL33
org.softevo.jdynpur.eval.MutabilityResultsComparer.INDEX_numberOfAllKitMutableParameters isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL34
org.softevo.jdynpur.runtime.OnTheFlyInstrumenter.TRACECLASSNAME isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL39
Unread field: org.softevo.jdynpur.runtime.OnTheFlyInstrumenter.suffixPERFORMANCEURF_UNREAD_FIELDNot available