FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
936200

Files

ClassBugs
junitx.ddtunit.DDTTestCase1
junitx.ddtunit.DDTTestResult2
junitx.ddtunit.data.DefaultComparator1
junitx.ddtunit.data.ExceptionAsserter1
junitx.ddtunit.data.ObjectAsserter7
junitx.ddtunit.data.SearchCriteria1
junitx.ddtunit.data.SearchParameters1
junitx.ddtunit.data.TypedObject1
junitx.ddtunit.data.TypedObjectMap1
junitx.ddtunit.data.db.DbDataRestorer9
junitx.ddtunit.data.processing.ActionBase1
junitx.ddtunit.data.processing.ActionBase$ObjectReferenceInfo2
junitx.ddtunit.data.processing.ArrayCreatorAction2
junitx.ddtunit.data.processing.AttributeListCreatorAction1
junitx.ddtunit.data.processing.BeanCreatorAction1
junitx.ddtunit.data.processing.CallCreatorAction1
junitx.ddtunit.data.processing.CollectionCreatorAction1
junitx.ddtunit.data.processing.CollectionCreatorAction$CollectionReferenceInfo1
junitx.ddtunit.data.processing.ConstantCreatorAction1
junitx.ddtunit.data.processing.DateCreatorAction$DateFactory2
junitx.ddtunit.data.processing.HintTypes1
junitx.ddtunit.data.processing.MapCreatorAction$MapValueReferenceInfo1
junitx.ddtunit.data.processing.ParserConstants1
junitx.ddtunit.data.processing.SubelementCreatorAction2
junitx.ddtunit.data.processing.SubelementCreatorAction$SubelementReferenceInfo2
junitx.ddtunit.data.processing.TypeAbbreviator2
junitx.ddtunit.data.processing.parser.EntityResolver2
junitx.ddtunit.data.processing.parser.ErrorHandler1
junitx.ddtunit.util.ClassAnalyser1
junitx.ddtunit.util.DDTConfiguration1
junitx.ddtunit.util.DDTDateFormat1
junitx.ddtunit.util.PrivilegedAccessor1
junitx.framework.Assert7
junitx.framework.AssertionFailedError1

junitx.ddtunit.DDTTestCase

BugCategoryDetailsLinePriority
Call to equals() comparing different types in junitx.ddtunit.DDTTestCase.validateAsserts(boolean)CORRECTNESSEC_UNRELATED_TYPES427High

junitx.ddtunit.DDTTestResult

BugCategoryDetailsLinePriority
Method junitx.ddtunit.DDTTestResult.copyContent(TestResult) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR140Medium
Method junitx.ddtunit.DDTTestResult.createTestResult() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR168Medium

junitx.ddtunit.data.DefaultComparator

BugCategoryDetailsLinePriority
junitx.ddtunit.data.DefaultComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE5-16Medium

junitx.ddtunit.data.ExceptionAsserter

BugCategoryDetailsLinePriority
junitx.ddtunit.data.ExceptionAsserter.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL115-118Medium

junitx.ddtunit.data.ObjectAsserter

BugCategoryDetailsLinePriority
junitx.ddtunit.data.ObjectAsserter.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL359-362Medium
Dead store to assertEx in junitx.ddtunit.data.ObjectAsserter.isArrayContainedinList(RuntimeException)STYLEDLS_DEAD_LOCAL_STORE336High
junitx.ddtunit.data.ObjectAsserter doesn't override TypedObject.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS61-362Medium
The parameter assertEx to junitx.ddtunit.data.ObjectAsserter.isArrayContainedinList(RuntimeException) is dead upon entry but overwrittenCORRECTNESSIP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN336High
Null pointer dereference of assertEx in junitx.ddtunit.data.ObjectAsserter.validate(boolean)CORRECTNESSNP_ALWAYS_NULL288Medium
Possible null pointer dereference of actualText in junitx.ddtunit.data.ObjectAsserter.validate(boolean)CORRECTNESSNP_NULL_ON_SOME_PATH143Medium
Possible null pointer dereference of expectedText in junitx.ddtunit.data.ObjectAsserter.validate(boolean)CORRECTNESSNP_NULL_ON_SOME_PATH149Medium

junitx.ddtunit.data.SearchCriteria

BugCategoryDetailsLinePriority
Unread field: junitx.ddtunit.data.SearchCriteria.defaultComparatorPERFORMANCEURF_UNREAD_FIELD11Medium

junitx.ddtunit.data.SearchParameters

BugCategoryDetailsLinePriority
Unread field: junitx.ddtunit.data.SearchParameters.defaultComparatorPERFORMANCEURF_UNREAD_FIELD22Medium

junitx.ddtunit.data.TypedObject

BugCategoryDetailsLinePriority
junitx.ddtunit.data.TypedObject.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL152-154High

junitx.ddtunit.data.TypedObjectMap

BugCategoryDetailsLinePriority
junitx.ddtunit.data.TypedObjectMap.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL137-158Medium

junitx.ddtunit.data.db.DbDataRestorer

BugCategoryDetailsLinePriority
Method junitx.ddtunit.data.db.DbDataRestorer.createXml(String) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION164Medium
Method junitx.ddtunit.data.db.DbDataRestorer.createXml(String) may fail to clean up java.sql.StatementEXPERIMENTALOBL_UNSATISFIED_OBLIGATION162Medium
Method junitx.ddtunit.data.db.DbDataRestorer.getObject(String, String) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION288Medium
Method junitx.ddtunit.data.db.DbDataRestorer.getObject(String, String) may fail to clean up java.sql.StatementEXPERIMENTALOBL_UNSATISFIED_OBLIGATION285Medium
Method junitx.ddtunit.data.db.DbDataRestorer.restore(String, String) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION78Medium
Method junitx.ddtunit.data.db.DbDataRestorer.restore(String, String) may fail to clean up java.sql.StatementEXPERIMENTALOBL_UNSATISFIED_OBLIGATION76Medium
junitx.ddtunit.data.db.DbDataRestorer.createXml(String) may fail to close PreparedStatementBAD_PRACTICEODR_OPEN_DATABASE_RESOURCE162Medium
junitx.ddtunit.data.db.DbDataRestorer.getObject(String, String) may fail to close PreparedStatementBAD_PRACTICEODR_OPEN_DATABASE_RESOURCE285Medium
junitx.ddtunit.data.db.DbDataRestorer.restore(String, String) may fail to close PreparedStatementBAD_PRACTICEODR_OPEN_DATABASE_RESOURCE76Medium

junitx.ddtunit.data.processing.ActionBase

BugCategoryDetailsLinePriority
Uninitialized read of attrMap in new junitx.ddtunit.data.processing.ActionBase(Map)CORRECTNESSUR_UNINIT_READ96High

junitx.ddtunit.data.processing.ActionBase$ObjectReferenceInfo

BugCategoryDetailsLinePriority
Possible null pointer dereference of testDataSet in junitx.ddtunit.data.processing.ActionBase$ObjectReferenceInfo.resolve(IDataSet, String, String)CORRECTNESSNP_NULL_ON_SOME_PATH492Medium
Should junitx.ddtunit.data.processing.ActionBase$ObjectReferenceInfo be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC459-530Medium

junitx.ddtunit.data.processing.ArrayCreatorAction

BugCategoryDetailsLinePriority
Field ArrayCreatorAction.log masks field in superclass junitx.ddtunit.data.processing.ActionBaseCORRECTNESSMF_CLASS_MASKS_FIELD58-221High
Load of known null value in junitx.ddtunit.data.processing.ArrayCreatorAction.inject()STYLENP_LOAD_OF_KNOWN_NULL_VALUE217Medium

junitx.ddtunit.data.processing.AttributeListCreatorAction

BugCategoryDetailsLinePriority
Field AttributeListCreatorAction.log masks field in superclass junitx.ddtunit.data.processing.ActionBaseCORRECTNESSMF_CLASS_MASKS_FIELD49-140High

junitx.ddtunit.data.processing.BeanCreatorAction

BugCategoryDetailsLinePriority
Dead store to param in junitx.ddtunit.data.processing.BeanCreatorAction.processSuccessor(IAction)STYLEDLS_DEAD_LOCAL_STORE181Medium

junitx.ddtunit.data.processing.CallCreatorAction

BugCategoryDetailsLinePriority
Dead store to rootAction in junitx.ddtunit.data.processing.CallCreatorAction.process()STYLEDLS_DEAD_LOCAL_STORE108Medium

junitx.ddtunit.data.processing.CollectionCreatorAction

BugCategoryDetailsLinePriority
Field CollectionCreatorAction.log masks field in superclass junitx.ddtunit.data.processing.ActionBaseCORRECTNESSMF_CLASS_MASKS_FIELD59-238High

junitx.ddtunit.data.processing.CollectionCreatorAction$CollectionReferenceInfo

BugCategoryDetailsLinePriority
Method call in junitx.ddtunit.data.processing.CollectionCreatorAction$CollectionReferenceInfo.resolve(IDataSet, String, String) passes null for nonnull parameter of doResolution(IDataSet)CORRECTNESSNP_NULL_PARAM_DEREF271Medium

junitx.ddtunit.data.processing.ConstantCreatorAction

BugCategoryDetailsLinePriority
Dead store to rootAction in junitx.ddtunit.data.processing.ConstantCreatorAction.process()STYLEDLS_DEAD_LOCAL_STORE105Medium

junitx.ddtunit.data.processing.DateCreatorAction$DateFactory

BugCategoryDetailsLinePriority
Call to method of static java.text.DateFormat in junitx.ddtunit.data.processing.DateCreatorAction$DateFactory.create(String, String, String, String)MT_CORRECTNESSSTCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE207Medium
Call to method of static java.text.DateFormat in junitx.ddtunit.data.processing.DateCreatorAction$DateFactory.create(String, String, String, String)MT_CORRECTNESSSTCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE207Medium

junitx.ddtunit.data.processing.HintTypes

BugCategoryDetailsLinePriority
junitx.ddtunit.data.processing.HintTypes.equals(Object) checks for operand being a String BAD_PRACTICEEQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS124High

junitx.ddtunit.data.processing.MapCreatorAction$MapValueReferenceInfo

BugCategoryDetailsLinePriority
Method call in junitx.ddtunit.data.processing.MapCreatorAction$MapValueReferenceInfo.resolve(IDataSet, String, String) passes null for nonnull parameter of doResolution(IDataSet)CORRECTNESSNP_NULL_PARAM_DEREF238Medium

junitx.ddtunit.data.processing.ParserConstants

BugCategoryDetailsLinePriority
junitx.ddtunit.data.processing.ParserConstants.XML_IGNORE_ELEM should be package protectedMALICIOUS_CODEMS_PKGPROTECT74Medium

junitx.ddtunit.data.processing.SubelementCreatorAction

BugCategoryDetailsLinePriority
Dead store to refInfo in junitx.ddtunit.data.processing.SubelementCreatorAction.processNoSuccessor()STYLEDLS_DEAD_LOCAL_STORE139Medium
Method junitx.ddtunit.data.processing.SubelementCreatorAction.processSuccessor(IAction) invokes inefficient new Character(char) constructor; use Character.valueOf(char) insteadPERFORMANCEDM_NUMBER_CTOR242Medium

junitx.ddtunit.data.processing.SubelementCreatorAction$SubelementReferenceInfo

BugCategoryDetailsLinePriority
Method call in junitx.ddtunit.data.processing.SubelementCreatorAction$SubelementReferenceInfo.resolve(IDataSet, String, String) passes null for nonnull parameter of doResolution(IDataSet)CORRECTNESSNP_NULL_PARAM_DEREF302Medium
Should junitx.ddtunit.data.processing.SubelementCreatorAction$SubelementReferenceInfo be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC287-358Medium

junitx.ddtunit.data.processing.TypeAbbreviator

BugCategoryDetailsLinePriority
Method new junitx.ddtunit.data.processing.TypeAbbreviator() may fail to clean up java.io.InputStreamEXPERIMENTALOBL_UNSATISFIED_OBLIGATION68Medium
new junitx.ddtunit.data.processing.TypeAbbreviator() may fail to close streamBAD_PRACTICEOS_OPEN_STREAM68Medium

junitx.ddtunit.data.processing.parser.EntityResolver

BugCategoryDetailsLinePriority
The class name junitx.ddtunit.data.processing.parser.EntityResolver shadows the simple name of implemented interface org.xml.sax.EntityResolverBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_INTERFACE55-105Medium
Method junitx.ddtunit.data.processing.parser.EntityResolver.resolveEntity(String, String) may fail to clean up java.io.InputStreamEXPERIMENTALOBL_UNSATISFIED_OBLIGATION94Medium

junitx.ddtunit.data.processing.parser.ErrorHandler

BugCategoryDetailsLinePriority
The class name junitx.ddtunit.data.processing.parser.ErrorHandler shadows the simple name of implemented interface org.xml.sax.ErrorHandlerBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_INTERFACE67-137Medium

junitx.ddtunit.util.ClassAnalyser

BugCategoryDetailsLinePriority
Method call in junitx.ddtunit.util.ClassAnalyser.getPrimitiveArrayBaseType(Class) passes null for nonnull parameter of getPrimitiveClass(Class)CORRECTNESSNP_NULL_PARAM_DEREF629Medium

junitx.ddtunit.util.DDTConfiguration

BugCategoryDetailsLinePriority
Method junitx.ddtunit.util.DDTConfiguration.load(String) may fail to clean up java.io.InputStreamEXPERIMENTALOBL_UNSATISFIED_OBLIGATION150Medium

junitx.ddtunit.util.DDTDateFormat

BugCategoryDetailsLinePriority
junitx.ddtunit.util.DDTDateFormat doesn't override java.text.SimpleDateFormat.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS47-56Medium

junitx.ddtunit.util.PrivilegedAccessor

BugCategoryDetailsLinePriority
Load of known null value in junitx.ddtunit.util.PrivilegedAccessor.setFieldValue(Object, String, Object)STYLENP_LOAD_OF_KNOWN_NULL_VALUE73Medium

junitx.framework.Assert

BugCategoryDetailsLinePriority
junitx.framework.Assert.assertNotEquals(String, boolean, boolean) invokes inefficient Boolean constructor; use Boolean.valueOf(...) insteadPERFORMANCEDM_BOOLEAN_CTOR305Medium
Method junitx.framework.Assert.assertNotEquals(String, byte, byte) invokes inefficient new Byte(byte) constructor; use Byte.valueOf(byte) insteadPERFORMANCEDM_NUMBER_CTOR152Medium
Method junitx.framework.Assert.assertNotEquals(String, char, char) invokes inefficient new Character(char) constructor; use Character.valueOf(char) insteadPERFORMANCEDM_NUMBER_CTOR171Medium
Method junitx.framework.Assert.assertNotEquals(String, int, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR248Medium
Method junitx.framework.Assert.assertNotEquals(String, long, long) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR267Medium
Method junitx.framework.Assert.assertNotEquals(String, short, short) invokes inefficient new Short(short) constructor; use Short.valueOf(short) insteadPERFORMANCEDM_NUMBER_CTOR286Medium
The class name junitx.framework.Assert shadows the simple name of the superclass junit.framework.AssertBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS78-380High

junitx.framework.AssertionFailedError

BugCategoryDetailsLinePriority
The class name junitx.framework.AssertionFailedError shadows the simple name of the superclass junit.framework.AssertionFailedErrorBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS88-156High