Class FindBugs


  • public abstract class FindBugs
    extends java.lang.Object
    Static methods and fields useful for working with instances of IFindBugsEngine. This class was previously the main driver for FindBugs analyses, but has been replaced by FindBugs2.
    Author:
    Bill Pugh, David Hovemeyer
    • Field Detail

      • DEFAULT_EFFORT

        public static final AnalysisFeatureSetting[] DEFAULT_EFFORT
        Analysis settings for -effort:default.
      • DEBUG

        public static final boolean DEBUG
        Debug tracing.
      • LOG

        public static final java.util.logging.Logger LOG
      • knownURLProtocolSet

        @StaticConstant
        public static final java.util.Set<java.lang.String> knownURLProtocolSet
        Known URL protocols. Filename URLs that do not have an explicit protocol are assumed to be files.
      • MINIMUM_TIMESTAMP

        public static final long MINIMUM_TIMESTAMP
        Date of release of Java 1.0
    • Constructor Detail

      • FindBugs

        public FindBugs()
    • Method Detail

      • setNoAnalysis

        public static void setNoAnalysis()
        Disable analysis within FindBugs. Turns off loading of bug detectors.
      • isNoAnalysis

        public static boolean isNoAnalysis()
        Returns:
        Returns the noAnalysis.
      • setNoMains

        public static void setNoMains()
        Disable loading of FindBugsMain classes.
      • isNoMains

        public static boolean isNoMains()
        Returns:
        Returns the noMains.
      • setHome

        public static void setHome​(java.lang.String home)
        Set the FindBugs home directory.
      • getHome

        public static java.lang.String getHome()
        Get the FindBugs home directory.
      • configureTrainingDatabases

        public static void configureTrainingDatabases​(IFindBugsEngine findBugs)
                                               throws java.io.IOException
        Configure training databases.
        Parameters:
        findBugs - the IFindBugsEngine to configure
        Throws:
        java.io.IOException
      • isDetectorEnabled

        public static boolean isDetectorEnabled​(IFindBugsEngine findBugs,
                                                DetectorFactory factory,
                                                int rankThreshold)
        Determines whether or not given DetectorFactory should be enabled.
        Parameters:
        findBugs - the IFindBugsEngine
        factory - the DetectorFactory
        rankThreshold - TODO
        Returns:
        true if the DetectorFactory should be enabled, false otherwise
      • handleBugCategories

        public static java.util.Set<java.lang.String> handleBugCategories​(java.lang.String categories)
        Process -bugCategories option.
        Parameters:
        categories - comma-separated list of bug categories
        Returns:
        Set of categories to be used
      • processCommandLine

        public static void processCommandLine​(TextUICommandLine commandLine,
                                              java.lang.String[] argv,
                                              IFindBugsEngine findBugs)
                                       throws java.io.IOException,
                                              FilterException
        Process the command line.
        Parameters:
        commandLine - the TextUICommandLine object which will parse the command line
        argv - the command line arguments
        findBugs - the IFindBugsEngine to configure
        Throws:
        java.io.IOException
        FilterException
      • showHelp

        public static void showHelp​(TextUICommandLine commandLine)
        Show -help message.
        Parameters:
        commandLine -
      • runMain

        public static void runMain​(IFindBugsEngine findBugs,
                                   TextUICommandLine commandLine)
                            throws java.io.IOException
        Given a fully-configured IFindBugsEngine and the TextUICommandLine used to configure it, execute the analysis.
        Parameters:
        findBugs - a fully-configured IFindBugsEngine
        commandLine - the TextUICommandLine used to configure the IFindBugsEngine
        Throws:
        java.io.IOException
      • showCommandLineOptions

        public static void showCommandLineOptions()
        Print command line options synopses to stdout.
      • showCommandLineOptions

        public static void showCommandLineOptions​(TextUICommandLine commandLine)
        Print command line options synopses to stdout.
        Parameters:
        commandLine - the TextUICommandLine whose options should be printed
      • showSynopsis

        public static void showSynopsis()
        Show the overall FindBugs command synopsis.
      • configureFilter

        public static BugReporter configureFilter​(BugReporter bugReporter,
                                                  java.lang.String filterFileName,
                                                  boolean include)
                                           throws java.io.IOException,
                                                  FilterException
        Configure the (bug instance) Filter for the given DelegatingBugReporter.
        Parameters:
        bugReporter - a DelegatingBugReporter
        filterFileName - filter file name
        include - true if the filter is an include filter, false if it's an exclude filter
        Throws:
        java.io.IOException
        FilterException
      • configureBaselineFilter

        public static BugReporter configureBaselineFilter​(BugReporter bugReporter,
                                                          java.lang.String baselineFileName)
                                                   throws java.io.IOException,
                                                          org.dom4j.DocumentException
        Configure a baseline bug instance filter.
        Parameters:
        bugReporter - a DelegatingBugReporter
        baselineFileName - filename of baseline Filter
        Throws:
        java.io.IOException
        org.dom4j.DocumentException
      • configureBugCollection

        public static void configureBugCollection​(IFindBugsEngine findBugs)
        Configure the BugCollection (if the BugReporter being used is constructing one).
        Parameters:
        findBugs - the IFindBugsEngine
      • validTimestamp

        public static boolean validTimestamp​(long timestamp)