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
801800

net.sf.jour.ConfigException

BugCategoryDetailsLinePriority
Class net.sf.jour.ConfigException is not derived from an Exception, even though it is named as suchBAD_PRACTICENM_CLASS_NOT_EXCEPTION32-37Medium

net.sf.jour.Interceptor

BugCategoryDetailsLinePriority
new net.sf.jour.Interceptor(Config, ClassPool, String, Instrumentor[]) may expose internal representation by storing an externally mutable object into Interceptor.instrumentorsMALICIOUS_CODEEI_EXPOSE_REP269Medium

net.sf.jour.InterceptorException

BugCategoryDetailsLinePriority
Class net.sf.jour.InterceptorException is not derived from an Exception, even though it is named as suchBAD_PRACTICENM_CLASS_NOT_EXCEPTION31-36Medium

net.sf.jour.processor.DirectoryOutputWriter

BugCategoryDetailsLinePriority
net.sf.jour.processor.DirectoryOutputWriter.write(Entry) ignores exceptional return value of java.io.File.mkdirs()BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE30Medium
net.sf.jour.processor.DirectoryOutputWriter.write(Entry) ignores exceptional return value of java.io.File.setLastModified(long)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE48Medium

net.sf.jour.processor.FileEntry

BugCategoryDetailsLinePriority
net.sf.jour.processor.FileEntry defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE48-51High

net.sf.jour.signature.APICompare

BugCategoryDetailsLinePriority
Method net.sf.jour.signature.APICompare.compareFields(CtField[], CtField[], String, CtClass, CtClass) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR479Medium
Method net.sf.jour.signature.APICompare.compareMethods(CtMethod[], CtMethod[], String) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR427Medium

net.sf.jour.signature.APICompareChangeHelper

BugCategoryDetailsLinePriority
net.sf.jour.signature.APICompareChangeHelper.assertEquals(String, boolean, boolean) invokes inefficient Boolean constructor; use Boolean.valueOf(...) insteadPERFORMANCEDM_BOOLEAN_CTOR98Medium

net.sf.jour.signature.APICompareChangeHelper$ModifiersValue

BugCategoryDetailsLinePriority
net.sf.jour.signature.APICompareChangeHelper$ModifiersValue defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE47-50Medium

net.sf.jour.signature.Generator$ClassSortComparator

BugCategoryDetailsLinePriority
net.sf.jour.signature.Generator$ClassSortComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE179-182Medium

net.sf.jour.util.BuildVersion

BugCategoryDetailsLinePriority

net.sf.jour.util.CmdArgs

BugCategoryDetailsLinePriority
Dead store to name in net.sf.jour.util.CmdArgs.isArgsName(String)STYLEDLS_DEAD_LOCAL_STORE23High

net.sf.jour.util.FileUtil

BugCategoryDetailsLinePriority
net.sf.jour.util.FileUtil.readTextFile(File, HashSet) may fail to close streamBAD_PRACTICEOS_OPEN_STREAM151Medium

net.sf.jour.util.FileUtil$FileListByDateComparator

BugCategoryDetailsLinePriority
net.sf.jour.util.FileUtil$FileListByDateComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE194-212Medium

net.sf.jour.util.FileUtil$FileListByNameComparator

BugCategoryDetailsLinePriority
net.sf.jour.util.FileUtil$FileListByNameComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE219-232Medium

net.sf.jour.util.TimeUtil

BugCategoryDetailsLinePriority
Call to method of static java.text.DateFormat in net.sf.jour.util.TimeUtil.timeStamp2dateString(double)MT_CORRECTNESSSTCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE150Medium