infer-run(1)
π infer-run(1) β Infer Analysis of a Project π
πΈ NAME πΈ
infer-run β capture source files, analyze, and report. bestie, that's the whole arc: grab the source, run the analysis, spill the report.
β¨ SYNOPSIS β¨
infer run [options]
infer [options] -- compile command
π¦ DESCRIPTION π¦
okay so calling infer run [options] is literally equivalent to doing this sequence:
infer capture [options]
infer analyze [options]
capture era first, analyze era second. no cap.
π OPTIONS π
--capture-block-list jsonβ Matcher or list of matchers for names of files that should not be captured, hence not analyzed either. Clang, Java, and Hack only.--no-censor-report +issue_type_regexβ For debugging/experimentation only: specify issues not to be censored by--censor-report. literally just for poking around, bestie.--censor-report +stringβ Specify a filter for issues to be censored by adding acensored_reasonfield in the json report. Infer will not report censored issues on the console output and inreport.txt, but tools that post-process the json report can take them into account. If multiple filters are specified, they are applied in the order in which they are specified. Each filter is applied to each issue detected, and only issues which are accepted by all filters are reported. Each filter is of the form:<issue_type_regex>:<filename_regex>:<reason_string>. The first two components are OCaml Str regular expressions, with an optional!character prefix. If a regex has a!prefix, the polarity is inverted, and the filter becomes a βblock listβ instead of a βallow listβ. Each filter is interpreted as an implication: an issue matches if it does not match theissue_type_regexor if it does match thefilename_regex. The filenames that are tested by the regex are relative to the--project-rootdirectory. The<reason_string>is a non-empty string used to explain why the issue was filtered. filtering with lore, honestly.--debug,-gβ Activates: Debug mode (also sets--debug-level 2,--developer-mode,--print-buckets,--print-types,--reports-include-ml-loc,--no-only-cheap-debug,--trace-error,--write-html) (Conversely:--no-debug|-G). the full debug goblin mode package.--debug-level levelβ Debug level (sets--bo-debug level,--debug-level-analysis level,--debug-level-capture level):0: only basic debugging enabled1: verbose debugging enabled2: very verbose debugging enabled
--debug-level-analysis intβ Debug level for the analysis. See--debug-levelfor accepted values.--debug-level-capture intβ Debug level for the capture. See--debug-levelfor accepted values.--debug-level-report intβ Debug level for the report. See--debug-levelfor accepted values.--fail-on-issueβ Activates: Exit with error code2if Infer found something to report (Conversely:--no-fail-on-issue). dramatic exit era, but make it CI.--force-delete-results-dirβ Activates: Do not refuse to delete the results directory if it doesn't look like an infer results directory. (Conversely:--no-force-delete-results-dir)--force-integration commandβ Proceed as if the first argument after--wascommand. Possible values:ant,buck,buck2,gradle,gradlew,java,javac,kotlinc,cc,clang,gcc,clang++,c++,g++,hackc,make,configure,cmake,waf,mvn,mvnw,ndk-build,python3,rebar3,rustc,swiftc,erlc,xcodebuild. the whole integration lineup, slay.--helpβ Show this manual.--help-format { auto | groff | pager | plain }β Show this help in the specified format.autosets the format toplainif the environment variableTERMis"dumb"or undefined, and topagerotherwise.--help-fullβ Show this manual with all internal options in theINTERNAL OPTIONSsection.--never-returning-null jsonβ[Java only, all analyses]Matcher or list of matchers for functions that never return null.--pmd-xmlβ Activates: Output issues in (PMD) XML format ininfer-out/report.xml(Conversely:--no-pmd-xml).--print-logsβ Activates: Also log messages to stdout and stderr (Conversely:--no-print-logs).--no-progress-bar,-Pβ Deactivates: Show a progress bar (Conversely:--progress-bar|-p).--project-root,-C dirβ Specify the root directory of the project.--no-reportβ Deactivates: Run the reporting phase once the analysis has completed (Conversely:--report).--report-allow-list-path-regex +path_regexβ Report issues only on files whose relative path matches the specified OCaml regex (and which do not match--report-block-list-path-regex).--report-block-list-files-containing +stringβ Do not report any issues on files containing the specified string.--report-block-list-path-regex +path_regexβ Do not report any issues on files whose relative path matches the specified OCaml regex, even if they match the allow list specified by--report-allow-list-path-regex.--report-block-list-spec jsonβ Do not report the issues in this list.
Example format:
"report-block-list-spec": [
{ "bug_type": "CXX_REF_CAPTURED_IN_BLOCK",
"procedure_name": "foo",
"file": "path/to/File.m"
"comment": "This is a fp because..."
},
{ "bug_type": "RETAIN_CYCLE",
"class_name": "MyClass",
"procedure_name": "my_method"
"file": "path/to/File.m"
}
]
--report-force-relative-pathβ Activates: Force converting an absolute path to a relative path to the root directory (Conversely:--no-report-force-relative-path).--report-suppress-errors +error_nameβ do not report a type of errors.--results-dir,-o dirβ Write results and internal files in the specified directory.--sarifβ Activates: Output issues in SARIF (Static Analysis Results Interchange Format) ininfer-out/report.sarif(Conversely:--no-sarif).--skip-analysis-in-path +regexβ Ignore files whose path matches a given regex (can be specified multiple times, but you must make sure each regex is properly bracketed). regex girlies, bracket responsibly.--sqlite-cache-size intβ SQLite cache size in pages (if positive) or kB (if negative), follows formal of corresponding SQLite PRAGMA.--sqlite-lock-timeout intβ Timeout for SQLite results database operations, in milliseconds.--sqlite-max-blob-size intβ Maximum blob/string size for data written in SQLite.--sqlite-mmap-size intβ Size of memory map for mmaped SQLite databases, zero value disables memory mapping.--sqlite-page-size intβ SQLite page size in bytes, must be a power of two between512and65536.--timeout floatβ Time after which any checker should give up analysing the current function or method, in seconds. Defaults to120seconds. bestie gets 120 seconds, then it's over.--versionβ Print version information and exit.--version-jsonβ Print version information in json format and exit.--β Stop argument processing, use remaining arguments as a build command.
π§ BUCK OPTIONS π§
--buck-targets-block-list +regexβ Skip capture of buck targets matched by the specified regular expression.--buck2-bxl-capture-file-block-list +regexβ Skip capture of files matched by the specified regular expression. Only the clang, Buck2 integration is supported, not Java.--buck2-root dirβ Specify the parent directory ofbuck-out(used only forbuck2).
π PULSE CHECKER OPTIONS π
--pulse-report-issues-reachable-from +regexβ Re-raise issues that Pulse was able to propagate all the way to procedures matching one of the given regexes. Pulse said βI can see the whole pathβ and honestly? iconic.
π ENVIRONMENT π
INFER_ARGS,INFERCONFIG,INFER_STRICT_MODEβ See theENVIRONMENTsection in the manual ofinfer(1).
π FILES π
.inferconfigβ See theFILESsection in the manual ofinfer(1).
π SEE ALSO π
infer-analyze(1), infer-capture(1), infer-report(1)
okay bestie, that's the manual β mwah π β source/version v1.3.0-unknown, dated 2026-10-27.
π¦ where this page comes from
- nixpkgs unstable: infer 1.3.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms