|
FindBugs™ 1.3.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.FindBugs
public class FindBugs
An instance of this class is used to apply the selected set of analyses on some collection of Java classes. It also implements the command line interface.
It is no longer recommended to create instances of this class.
Use FindBugs2
instead. Some useful static methods remain
in this class, but may eventually be moved elsewhere.
Field Summary | |
---|---|
static boolean |
DEBUG
|
static AnalysisFeatureSetting[] |
DEFAULT_EFFORT
|
static java.util.Set<java.lang.String> |
knownURLProtocolSet
Known URL protocols. |
static AnalysisFeatureSetting[] |
LESS_EFFORT
|
static AnalysisFeatureSetting[] |
MAX_EFFORT
|
static AnalysisFeatureSetting[] |
MIN_EFFORT
|
static AnalysisFeatureSetting[] |
MORE_EFFORT
|
static boolean |
TIMEDEBUG
|
static int |
TIMEQUANTUM
|
Fields inherited from interface org.apache.bcel.Constants |
---|
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_SYPER, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACCESS_NAMES, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ANEWARRAY_QUICK, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, ATTR_ANNOTATION_DEFAULT, ATTR_CODE, ATTR_CONSTANT_VALUE, ATTR_DEPRECATED, ATTR_ENCLOSING_METHOD, ATTR_EXCEPTIONS, ATTR_INNER_CLASSES, ATTR_LINE_NUMBER_TABLE, ATTR_LOCAL_VARIABLE_TABLE, ATTR_LOCAL_VARIABLE_TYPE_TABLE, ATTR_PMG, ATTR_RUNTIME_VISIBLE_ANNOTATIONS, ATTR_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, ATTR_RUNTIMEIN_VISIBLE_ANNOTATIONS, ATTR_RUNTIMEIN_VISIBLE_PARAMETER_ANNOTATIONS, ATTR_SIGNATURE, ATTR_SOURCE_FILE, ATTR_STACK_MAP, ATTR_SYNTHETIC, ATTR_UNKNOWN, ATTRIBUTE_NAMES, BALOAD, BASTORE, BIPUSH, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, CHECKCAST_QUICK, CLASS_TYPE_NAMES, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_NAMES, CONSTANT_String, CONSTANT_Utf8, CONSTRUCTOR_NAME, CONSUME_STACK, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETFIELD_QUICK, GETFIELD_QUICK_W, GETFIELD2_QUICK, GETSTATIC, GETSTATIC_QUICK, GETSTATIC2_QUICK, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILLEGAL_OPCODE, ILLEGAL_TYPE, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INEG, INSTANCEOF, INSTANCEOF_QUICK, INT2BYTE, INT2CHAR, INT2SHORT, INTERFACES_IMPLEMENTED_BY_ARRAYS, INVOKEINTERFACE, INVOKEINTERFACE_QUICK, INVOKENONVIRTUAL, INVOKENONVIRTUAL_QUICK, INVOKESPECIAL, INVOKESTATIC, INVOKESTATIC_QUICK, INVOKESUPER_QUICK, INVOKEVIRTUAL, INVOKEVIRTUAL_QUICK, INVOKEVIRTUAL_QUICK_W, INVOKEVIRTUALOBJECT_QUICK, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, ITEM_Bogus, ITEM_Double, ITEM_Float, ITEM_InitObject, ITEM_Integer, ITEM_Long, ITEM_NAMES, ITEM_NewObject, ITEM_Null, ITEM_Object, IUSHR, IXOR, JSR, JSR_W, KNOWN_ATTRIBUTES, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_QUICK, LDC_W, LDC_W_QUICK, LDC2_W, LDC2_W_QUICK, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MAJOR, MAJOR_1_1, MAJOR_1_2, MAJOR_1_3, MAJOR_1_4, MAJOR_1_5, MAJOR_1_6, MAX_ACC_FLAG, MAX_BYTE, MAX_CODE_SIZE, MAX_CP_ENTRIES, MAX_SHORT, MINOR, MINOR_1_1, MINOR_1_2, MINOR_1_3, MINOR_1_4, MINOR_1_5, MINOR_1_6, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, MULTIANEWARRAY_QUICK, NEW, NEW_QUICK, NEWARRAY, NO_OF_OPERANDS, NOP, OPCODE_NAMES, POP, POP2, PRODUCE_STACK, PUSH, PUTFIELD, PUTFIELD_QUICK, PUTFIELD_QUICK_W, PUTFIELD2_QUICK, PUTSTATIC, PUTSTATIC_QUICK, PUTSTATIC2_QUICK, RESERVED, RET, RETURN, SALOAD, SASTORE, SHORT_TYPE_NAMES, SIPUSH, STATIC_INITIALIZER_NAME, SWAP, SWITCH, T_ADDRESS, T_ARRAY, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_OBJECT, T_REFERENCE, T_SHORT, T_UNKNOWN, T_VOID, TABLESWITCH, TYPE_NAMES, TYPE_OF_OPERANDS, UNDEFINED, UNPREDICTABLE, WIDE |
Fields inherited from interface edu.umd.cs.findbugs.ExitCodes |
---|
BUGS_FOUND_FLAG, ERROR_FLAG, MISSING_CLASS_FLAG |
Constructor Summary | |
---|---|
FindBugs()
Deprecated. You use should FindBugs2 instead. |
|
FindBugs(BugReporter bugReporter,
Project project)
Deprecated. You use should FindBugs2 instead. |
Method Summary | |
---|---|
void |
addClassObserver(IClassObserver classObserver)
Add an IClassObserver. |
void |
addFilter(java.lang.String filterFileName,
boolean include)
Set filter of bug instances to include or exclude. |
static void |
configureBaselineFilter(DelegatingBugReporter bugReporter,
java.lang.String baselineFileName)
|
static void |
configureBugCollection(IFindBugsEngine findBugs)
Configure the BugCollection (if the BugReporter being used is constructing one). |
static void |
configureFilter(DelegatingBugReporter bugReporter,
java.lang.String filterFileName,
boolean include)
|
static void |
configureTrainingDatabases(IFindBugsEngine findBugs)
Configure training databases. |
boolean |
emitTrainingOutput()
Return whether or not training output should be emitted after analysis completes. |
void |
enableTrainingInput(java.lang.String trainingInputDir)
Set whether or not training input should be used to make the analysis more precise. |
void |
enableTrainingOutput(java.lang.String trainingOutputDir)
Set whether or not training output should be emitted. |
void |
excludeBaselineBugs(java.lang.String baselineBugs)
Provide baseline of bugs not to report |
void |
execute()
Execute FindBugs on the Project. |
int |
getBugCount()
Get the number of bug instances that were reported during analysis. |
BugReporter |
getBugReporter()
Get the BugReporter. |
java.lang.String |
getCurrentClass()
Get the name of the most recent class to be analyzed. |
int |
getErrorCount()
Get the number of errors that occurred during analysis. |
static java.lang.String |
getHome()
Get the FindBugs home directory. |
int |
getMissingClassCount()
Get the number of time missing classes were reported during analysis. |
Project |
getProject()
Get the Project. |
java.lang.String |
getProjectName()
|
java.lang.String |
getReleaseName()
|
java.lang.String |
getTrainingInputDir()
Get the training input database directory. |
java.lang.String |
getTrainingOutputDir()
Get the training output directory. |
UserPreferences |
getUserPreferences()
Get the UserPreferences. |
static boolean |
isDetectorEnabled(IFindBugsEngine findBugs,
DetectorFactory factory)
Determing whether or not given DetectorFactory should be enabled. |
static void |
processCommandLine(TextUICommandLine commandLine,
java.lang.String[] argv,
IFindBugsEngine findBugs)
Process the command line. |
static void |
runMain(IFindBugsEngine findBugs,
TextUICommandLine commandLine)
|
void |
setAbridgedMessages(boolean xmlWithAbridgedMessages)
|
void |
setAnalysisFeatureSettings(AnalysisFeatureSetting[] settingList)
Set analysis feature settings. |
void |
setBugReporter(BugReporter bugReporter)
Set the BugReporter. |
void |
setClassScreener(IClassScreener classScreener)
Set the ClassScreener. |
void |
setDetectorFactoryCollection(DetectorFactoryCollection detectorFactoryCollection)
Set the DetectorFactoryCollection from which plugins/detectors may be accessed. |
static void |
setHome(java.lang.String home)
Set the FindBugs home directory. |
void |
setNoClassOk(boolean noClassOk)
Set whether or not to generate an empty output file if there were no class files specified. |
void |
setProgressCallback(FindBugsProgress progressCallback)
Set the progress callback that will be used to keep track of the progress of the analysis. |
void |
setProject(Project project)
Set the Project. |
void |
setProjectName(java.lang.String projectName)
|
void |
setRelaxedReportingMode(boolean relaxedReportingMode)
Set relaxed reporting mode. |
void |
setReleaseName(java.lang.String releaseName)
|
void |
setScanNestedArchives(boolean scanNestedArchives)
Set whether or not nested archives should be scanned. |
void |
setSourceInfoFile(java.lang.String sourceInfoFile)
Set the filename of the source info file containing line numbers for fields and classes. |
void |
setUserPreferences(UserPreferences userPreferences)
Set the UserPreferences representing which Detectors should be used. |
static void |
showCommandLineOptions()
Print command line options synopses to stdout. |
static void |
showCommandLineOptions(TextUICommandLine commandLine)
|
static void |
showHelp(TextUICommandLine commandLine)
|
static void |
showSynopsis()
|
boolean |
useTrainingInput()
Return whether or not we should make use of training data. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final AnalysisFeatureSetting[] MIN_EFFORT
public static final AnalysisFeatureSetting[] LESS_EFFORT
public static final AnalysisFeatureSetting[] DEFAULT_EFFORT
public static final AnalysisFeatureSetting[] MORE_EFFORT
public static final AnalysisFeatureSetting[] MAX_EFFORT
public static final boolean DEBUG
public static final boolean TIMEDEBUG
public static final int TIMEQUANTUM
public static final java.util.Set<java.lang.String> knownURLProtocolSet
Constructor Detail |
---|
@Deprecated public FindBugs()
@Deprecated public FindBugs(BugReporter bugReporter, Project project)
bugReporter
- the BugReporter object that will be used to report
BugInstance objects, analysis errors, class to source mapping, etc.project
- the Project indicating which files to analyze and
the auxiliary classpath to use; note that the FindBugs
object will create a private copy of the Project objectMethod Detail |
---|
public void setDetectorFactoryCollection(DetectorFactoryCollection detectorFactoryCollection)
IFindBugsEngine
setDetectorFactoryCollection
in interface IFindBugsEngine
detectorFactoryCollection
- the DetectorFactoryCollectionpublic BugReporter getBugReporter()
IFindBugsEngine
getBugReporter
in interface IFindBugsEngine
public void setBugReporter(BugReporter bugReporter)
IFindBugsEngine
setBugReporter
in interface IFindBugsEngine
bugReporter
- The BugReporter to setpublic void setProject(Project project)
IFindBugsEngine
setProject
in interface IFindBugsEngine
project
- The Project to setpublic Project getProject()
IFindBugsEngine
getProject
in interface IFindBugsEngine
public void setProgressCallback(FindBugsProgress progressCallback)
IFindBugsEngine
setProgressCallback
in interface IFindBugsEngine
progressCallback
- the progress callbackpublic void addFilter(java.lang.String filterFileName, boolean include) throws java.io.IOException, FilterException
IFindBugsEngine
addFilter
in interface IFindBugsEngine
filterFileName
- the name of the filter fileinclude
- true if the filter specifies bug instances to include,
false if it specifies bug instances to exclude
java.io.IOException
FilterException
public void excludeBaselineBugs(java.lang.String baselineBugs) throws java.io.IOException, org.dom4j.DocumentException
IFindBugsEngine
excludeBaselineBugs
in interface IFindBugsEngine
baselineBugs
- the name of the xml bug baseline file
org.dom4j.DocumentException
java.io.IOException
public void setUserPreferences(UserPreferences userPreferences)
IFindBugsEngine
setUserPreferences
in interface IFindBugsEngine
userPreferences
- the UserPreferencespublic void addClassObserver(IClassObserver classObserver)
IFindBugsEngine
addClassObserver
in interface IFindBugsEngine
classObserver
- the IClassObserverpublic void setClassScreener(IClassScreener classScreener)
IFindBugsEngine
setClassScreener
in interface IFindBugsEngine
classScreener
- the ClassScreener to usepublic void setRelaxedReportingMode(boolean relaxedReportingMode)
IFindBugsEngine
setRelaxedReportingMode
in interface IFindBugsEngine
relaxedReportingMode
- true if relaxed reporting mode should be enabled,
false if notpublic void enableTrainingOutput(java.lang.String trainingOutputDir)
IFindBugsEngine
enableTrainingOutput
in interface IFindBugsEngine
trainingOutputDir
- directory to save training output inpublic void enableTrainingInput(java.lang.String trainingInputDir)
IFindBugsEngine
enableTrainingInput
in interface IFindBugsEngine
trainingInputDir
- directory to load training input frompublic void setAnalysisFeatureSettings(AnalysisFeatureSetting[] settingList)
IFindBugsEngine
setAnalysisFeatureSettings
in interface IFindBugsEngine
settingList
- list of analysis feature settingspublic java.lang.String getReleaseName()
getReleaseName
in interface IFindBugsEngine
public void setReleaseName(java.lang.String releaseName)
setReleaseName
in interface IFindBugsEngine
releaseName
- The releaseName to set.public void setSourceInfoFile(java.lang.String sourceInfoFile)
IFindBugsEngine
setSourceInfoFile
in interface IFindBugsEngine
sourceInfoFile
- the source info filenamepublic void execute() throws java.io.IOException, java.lang.InterruptedException
IFindBugsEngine
execute
in interface IFindBugsEngine
java.io.IOException
- if an I/O exception occurs analyzing one of the files
java.lang.InterruptedException
- if the thread is interrupted while conducting the analysispublic java.lang.String getCurrentClass()
IFindBugsEngine
getCurrentClass
in interface IFindBugsEngine
public int getBugCount()
IFindBugsEngine
getBugCount
in interface IFindBugsEngine
public int getErrorCount()
IFindBugsEngine
getErrorCount
in interface IFindBugsEngine
public int getMissingClassCount()
IFindBugsEngine
getMissingClassCount
in interface IFindBugsEngine
public boolean emitTrainingOutput()
IFindBugsEngine
emitTrainingOutput
in interface IFindBugsEngine
public UserPreferences getUserPreferences()
IFindBugsEngine
getUserPreferences
in interface IFindBugsEngine
public java.lang.String getTrainingInputDir()
IFindBugsEngine
getTrainingInputDir
in interface IFindBugsEngine
public java.lang.String getTrainingOutputDir()
IFindBugsEngine
getTrainingOutputDir
in interface IFindBugsEngine
public boolean useTrainingInput()
IFindBugsEngine
useTrainingInput
in interface IFindBugsEngine
public void setScanNestedArchives(boolean scanNestedArchives)
IFindBugsEngine
setScanNestedArchives
in interface IFindBugsEngine
scanNestedArchives
- true if nested archives should be scanned, false if notpublic void setNoClassOk(boolean noClassOk)
IFindBugsEngine
setNoClassOk
in interface IFindBugsEngine
noClassOk
- true if FindBugs should generate empty output filepublic static void setHome(java.lang.String home)
public static java.lang.String getHome()
public static void configureTrainingDatabases(IFindBugsEngine findBugs) throws java.io.IOException
java.io.IOException
public static boolean isDetectorEnabled(IFindBugsEngine findBugs, DetectorFactory factory)
findBugs
- the IFindBugsEnginefactory
- the DetectorFactory
public static void processCommandLine(TextUICommandLine commandLine, java.lang.String[] argv, IFindBugsEngine findBugs) throws java.io.IOException, FilterException
commandLine
- the TextUICommandLine object which will parse the command lineargv
- the command line argumentsfindBugs
- the IFindBugsEngine to configure
java.io.IOException
FilterException
public static void showHelp(TextUICommandLine commandLine)
public static void runMain(IFindBugsEngine findBugs, TextUICommandLine commandLine) throws java.io.IOException, java.lang.RuntimeException
java.io.IOException
java.lang.RuntimeException
public static void showCommandLineOptions()
public static void showCommandLineOptions(TextUICommandLine commandLine)
public static void showSynopsis()
public static void configureFilter(DelegatingBugReporter bugReporter, java.lang.String filterFileName, boolean include) throws java.io.IOException, FilterException
java.io.IOException
FilterException
public static void configureBaselineFilter(DelegatingBugReporter bugReporter, java.lang.String baselineFileName) throws java.io.IOException, org.dom4j.DocumentException
java.io.IOException
org.dom4j.DocumentException
public static void configureBugCollection(IFindBugsEngine findBugs)
findBugs
- the IFindBugsEnginepublic java.lang.String getProjectName()
getProjectName
in interface IFindBugsEngine
public void setProjectName(java.lang.String projectName)
setProjectName
in interface IFindBugsEngine
projectName
- The project name to set.public void setAbridgedMessages(boolean xmlWithAbridgedMessages)
setAbridgedMessages
in interface IFindBugsEngine
|
FindBugs™ 1.3.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |