FINDBUGS(1)

πŸ“¦
version 3.1.0~preview2 Β· 3 versions
, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ¦‹ findbugs(1) πŸ¦‹

okay bestie, sit down, hydrate, because we are about to talk about findbugs β€” yes, the static Java code analyzer, and yes she is that girl. πŸ’…


✨ NAME ✨

findbugs β€” Static Java Code Analyzer πŸ‘‘


🌈 SYNOPSIS 🌈

findbugs [general options] -textui [command line options...]
[jar/zip/class files, directories...]

like… you give her some general options, you say -textui, you give her command line options, and then you hand her your jar/zip/class files and directories. that's the whole vibe. 🫢


πŸ’– DESCRIPTION πŸ’–

No files to be analyzed

(i know. i KNOW. that's literally what it says. mysterious, minimal, unbothered. she contains multitudes. 😭)


πŸŽ€ General options:

  • -jvmArgs args β€” pass args straight through to the JVM, no notes
  • -maxHeap size β€” biggest Java heap size, in megabytes (default=768) β€” she needs her space, okay?
  • -javahome <dir> β€” tell her where the JRE lives

πŸ’œ General FindBugs options:

  • -project <project> β€” analyze the project you named
  • -home <home directory> β€” point her at the FindBugs home directory
  • -pluginList <jar1[:jar2...]> β€” give her a list of plugin Jar files to load
  • -effort[:min|less|default|more|max] β€” set the analysis effort level, pick your fighter
  • -adjustExperimental β€” lower the priority of experimental Bug Patterns
  • -workHard β€” make sure analysis effort is at least default, bestie is grinding
  • -conserveSpace β€” same as -effort:min (it's here for backward compatibility, an icon of tradition)
  • -showPlugins β€” show the list of available detector plugins
  • -userPrefs <filename> β€” user preferences file, e.g. /path/to/project/.settings/edu.umd.cs.findbugs.core.prefs for Eclipse projects

πŸ“ Output options:

  • -timestampNow β€” set the timestamp of results to the current time ⏰
  • -quiet β€” suppress error messages (shhh, she's in her silent era)
  • -longBugCodes β€” report long bug codes
  • -progress β€” display progress in the terminal window so you're not just staring at nothing
  • -release <release name> β€” set the release name of the analyzed application
  • -experimental β€” report of any confidence level, including experimental bug patterns
  • -low β€” report warnings of any confidence level
  • -medium β€” report only medium and high confidence warnings [default] ✨
  • -high β€” report only high confidence warnings
  • -maxRank <rank> β€” only report issues with a bug rank at least as scary as the one you provided 😱
  • -dontCombineWarnings β€” don't combine warnings that differ only in line number
  • -sortByClass β€” sort warnings by class
  • -xml[:withMessages] β€” XML output (optionally with messages)
  • -xdocs β€” xdoc XML output to use with Apache Maven
  • -html[:stylesheet] β€” generate HTML output (the default stylesheet is default.xsl)
  • -emacs β€” use emacs reporting format
  • -relaxed β€” Relaxed reporting mode (more false positives!)
  • -train[:outputDir] β€” save training data (experimental); the output dir defaults to .
  • -useTraining[:inputDir] β€” use training data (experimental); the input dir defaults to .
  • -redoAnalysis <filename> β€” redo analysis using configuration from a previous analysis
  • -sourceInfo <filename> β€” specify source info file (line numbers for fields/classes)
  • -projectName <project name> β€” descriptive name of the project
  • -reanalyze <filename> β€” redo analysis in the provided file
  • -output <filename> β€” save output in the named file
  • -nested[:true|false] β€” analyze nested jar/zip archives (default=true)

🌸 Output filtering options:

  • -bugCategories <cat1[,cat2...]> β€” only report bugs in the categories you listed
  • -onlyAnalyze <classes/packages> β€” only analyze the given classes and packages; end with .* to indicate classes in a package, .- to indicate a package prefix
  • -excludeBugs <baseline bugs> β€” exclude bugs that are also reported in the baseline xml output
  • -exclude <filter file> β€” exclude bugs matching the given filter
  • -include <filter file> β€” include only bugs matching the given filter
  • -applySuppression β€” exclude any bugs that match the suppression filter loaded from an fbp file

🧚 Detector (visitor) configuration options:

  • -visitors <v1[,v2...]> β€” run only the named visitors
  • -omitVisitors <v1[,v2...]> β€” omit the named visitors
  • -chooseVisitors <+v1,-v2,...> β€” selectively enable/disable detectors
  • -choosePlugins <+p1,-p2,...> β€” selectively enable/disable plugins
  • -adjustPriority <v1=(raise|lower)[,...]> β€” raise/lower the priority of warnings for the given visitor(s)

πŸ‘‘ Project configuration options:

  • -auxclasspath <classpath> β€” set the aux classpath for analysis
  • -auxclasspathFromInput β€” read the aux classpath from standard input
  • -auxclasspathFromFile <filepath> β€” read aux classpaths from a designated file
  • -sourcepath <source path> β€” set the source path for the analyzed classes
  • -exitcode β€” set the exit code of the process
  • -noClassOk β€” output an empty warning file if no classes are specified
  • -xargs β€” get the list of classfiles/jarfiles from standard input rather than the command line
  • -analyzeFromFile <filepath> β€” get the list of class/jar files from a designated file
  • -cloud <id> β€” set the cloud id ☁️
  • -cloudProperty <key=value> β€” set a cloud property
  • -bugReporters <name,name2,-name3> β€” bug reporter decorators to explicitly enable/disable
  • -printConfiguration β€” print configuration and exit, without running analysis
  • -version β€” print version, check for updates and exit, without running analysis

πŸ’€ SEE ALSO πŸ’€

the full documentation for findbugs is maintained as a Texinfo manual. if the info and findbugs programs are properly installed at your site, then this command

info findbugs

should give you access to the complete manual. iykyk 🫢


and that's the whole page bestie, no cap, every flag accounted for πŸ’–

this was findbugs 3.1.0-dev-20180312-UNK... from March 2018 β€” yeah she's vintage, she's archive-core, and she ate. mwah. πŸ’…βœ¨

πŸ“¦ where this page comes from