You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1658 lines
54 KiB

<!-- Creator : groff version 1.22.3 -->
<!-- CreationDate: Thu Jun 7 16:35:59 2018 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>infer</title>
</head>
<body>
<h1 align="center">infer</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
<a href="#FILES">FILES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">infer - static
analysis for Java and C/C++/Objective-C/Objective-C++</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer
analyze</b> <i>[options]</i> <b><br>
infer capture</b> <i>[options]</i> <b><br>
infer compile</b> <i>[options]</i> <b><br>
infer report</b> <i>[options]</i> <b><br>
infer reportdiff</b> <i>[options]</i> <b><br>
infer run</b> <i>[options]</i> <b><br>
infer --compilation-database[-escaped]</b> <i>file
[options]</i> <b><br>
infer</b> <i>[options]</i> <b>-- compile command <br>
infer</b> <i>[options]</i></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Infer is a
static analyzer. Given a collection of source files written
in Java or in languages of the C family, and a command to
build them, infer produces a list of potential issues.</p>
<p style="margin-left:11%; margin-top: 1em">Infer consists
of a collection of tools referenced in the <i>SEE ALSO</i>
section of this manual. See their respective manuals for
more information.</p>
<p style="margin-left:11%; margin-top: 1em">When run
without a subcommand, and if a compilation command is
specified via the <b>--</b> option or one of the
<b>--clang-compilation-database[-escaped]</b> options, then
<b>infer</b> behaves as <b>infer-run</b>(1). Otherwise,
<b>infer</b> behaves as <b>infer-analyze</b>(1).</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Every infer
command accepts the arguments from all the other infer
commands.</p>
<p style="margin-left:11%; margin-top: 1em">Options are
read from the <b>.inferconfig</b> file, then from the
<b>INFER_ARGS</b> environment variable, then from the
command line. Options in <b>INFER_ARGS</b> take precedence
over options in <b>.inferconfig</b>, and options passed on
the command line take precedence over options in
<b>INFER_ARGS</b>. See the <i>ENVIRONMENT</i> and
<i>FILES</i> sections of this manual for more
information.</p>
<p style="margin-left:11%; margin-top: 1em">Options can be
specified inside an argument file <i>file</i> by passing
<b>@</b><i>file</i> as argument. The format is one option
per line, and enclosing single ' and double &quot; quotes
are ignored.</p>
<p style="margin-left:11%; margin-top: 1em">Options without
a default value (e.g., <b>--linter</b>) and options with
list-like values (e.g., <b>--Xbuck</b>) all have a
corresponding <b>--option-reset</b> flag that resets their
values to nothing or the empty list, respectively. For
instance, <b>--Xbuck-reset</b> will cancel any previous
<b>--Xbuck</b> option passed to infer.</p>
<p style="margin-left:11%; margin-top: 1em">See the manuals
of individual infer commands for details about their
supported options. The following is a list of all the
supported options (see also <b>--help-full</b> for options
reserved for internal use). <b><br>
--analyzer</b>,<b>-a</b> <i>{ checkers | infer | capture |
compile | crashcontext | <br>
linters }</i></p>
<p style="margin-left:17%;">Specify which analyzer to run
(only one at a time is supported):</p>
<p style="margin-left:11%;">- <b>biabduction</b>: run the
bi-abduction based checker only, in <br>
particular to check for memory errors <br>
- <b>checkers</b>: run the default checkers, including the
bi-abduction <br>
based checker for memory errors (default) <br>
- <b>infer</b>: alias for <b>biabduction</b> <br>
- <b>linters</b>: run linters based on the ast only (clang
only, <br>
activated by default) <br>
- <b>capture</b>: similar to specifying the <b>capture</b>
subcommand <br>
(DEPRECATED) <br>
- <b>compile</b>: similar to specifying the <b>compile</b>
subcommand <br>
(DEPRECATED) <br>
- <b>crashcontext</b>: experimental (see
<b>--crashcontext</b>) <br>
See also <b>infer-analyze</b>(1) and <b>infer-run</b>(1).
<b><br>
--&lt;analyzer&gt;-blacklist-files-containing</b>
<i>+string</i></p>
<p style="margin-left:17%;">blacklist files containing the
specified string for the given analyzer (see
<b>--analyzer</b> for valid values)</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1)
and <b>infer-run</b>(1). <b><br>
--&lt;analyzer&gt;-blacklist-path-regex</b>
<i>+path_regex</i></p>
<p style="margin-left:17%;">blacklist the analysis of files
whose relative path matches the specified OCaml-style regex
(to whitelist:
<b>--&lt;analyzer&gt;-whitelist-path-regex</b>)</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1)
and <b>infer-run</b>(1). <b><br>
--&lt;analyzer&gt;-suppress-errors</b>
<i>+error_name</i></p>
<p style="margin-left:17%;">do not report a type of
errors</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1)
and <b>infer-run</b>(1). <b><br>
--no-annotation-reachability</b></p>
<p style="margin-left:17%;">Deactivates: the annotation
reachability checker. Given a pair of source and sink
annotation, e.g. @PerformanceCritical and @Expensive, this
checker will warn whenever some method annotated with
@PerformanceCritical calls, directly or indirectly, another
method annotated with @Expensive (Conversely:
<b>--annotation-reachability</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--annotation-reachability-custom-pairs</b> <i>json</i></p>
<p style="margin-left:17%;">Specify custom sources/sink for
the annotation reachability checker</p>
<p style="margin-left:11%;">Example format: for custom
annotations <br>
com.my.annotation.{Source1,Source2,Sink1} <br>
{ &quot;sources&quot; : [&quot;Source1&quot;,
&quot;Source2&quot;], &quot;sink&quot; : &quot;Sink1&quot; }
<br>
(default: <i>[]</i>) <br>
See also <b>infer-analyze</b>(1). <b><br>
--annotation-reachability-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--annotation-reachability</b> and disable all other
checkers (Conversely:
<b>--no-annotation-reachability-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--append-buck-flavors</b> <i>+string</i></p>
<p style="margin-left:17%;">Additional Buck flavors to
append to targets discovered by the
<b>--buck-compilation-database</b> option.</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--no-biabduction</b></p>
<p style="margin-left:17%;">Deactivates: the separation
logic based bi-abduction analysis using the checkers
framework (Conversely: <b>--biabduction</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--biabduction-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--biabduction</b> and disable all other checkers
(Conversely: <b>--no-biabduction-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--bo-debug</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for buffer-overrun
checker (0-4) (default: <i>0</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--bootclasspath</b> <i>string</i></p>
<p style="margin-left:17%;">Specify the Java
bootclasspath</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--buck-blacklist</b> <i>regex</i></p>
<p style="margin-left:17%;">Skip analysis of files matched
by the specified regular expression</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1) and <b>infer-run</b>(1). <b><br>
--buck-compilation-database</b> <i>{ no-deps | deps
}</i></p>
<p style="margin-left:17%;">Buck integration using the
compilation database, with or without dependencies.</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--buck-compilation-database-depth</b> <i>int</i></p>
<p style="margin-left:17%;">Depth of dependencies used by
the <b>--buck-compilation-database deps</b> option. By
default, all recursive dependencies are captured.</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--buck-out</b> <i>dir</i></p>
<p style="margin-left:17%;">Specify the root directory of
buck-out</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--bufferoverrun</b></p>
<p style="margin-left:17%;">Activates: the buffer overrun
analysis (Conversely: <b>--no-bufferoverrun</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--bufferoverrun-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--bufferoverrun</b> and disable all other checkers
(Conversely: <b>--no-bufferoverrun-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--changed-files-index</b> <i>file</i></p>
<p style="margin-left:17%;">Specify the file containing the
list of source files from which reactive analysis should
start. Source files should be specified relative to project
root or be absolute</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1) and <b>infer-diff</b>(1). <b><br>
--check-nullable</b></p>
<p style="margin-left:17%;">Activates: checks that values
annotated with nullable are always checked for null before
dereference (Conversely: <b>--no-check-nullable</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--check-nullable-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--check-nullable</b> and disable all other checkers
(Conversely: <b>--no-check-nullable-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--clang-biniou-file</b> <i>file</i></p>
<p style="margin-left:17%;">Specify a file containing the
AST of the program, in biniou format</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--compilation-database</b> <i>+path</i></p>
<p style="margin-left:17%;">File that contain compilation
commands (can be specified multiple times)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--compilation-database-escaped</b> <i>+path</i></p>
<p style="margin-left:17%;">File that contain compilation
commands where all entries are escaped for the shell, eg
coming from Xcode (can be specified multiple times)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--compute-analytics</b></p>
<p style="margin-left:17%;">Activates: Emit analytics as
info-level issues, like component kit line count and
component kit file cyclomatic complexity (Conversely:
<b>--no-compute-analytics</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1) and <b>infer-run</b>(1). <b><br>
--continue</b></p>
<p style="margin-left:17%;">Activates: Continue the capture
for the reactive analysis, increasing the changed
files/procedures. (If a procedure was changed beforehand,
keep the changed marking.) (Conversely:
<b>--no-continue</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--cost</b></p>
<p style="margin-left:17%;">Activates: checker for
performance cost analysis (Conversely: <b>--no-cost</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--cost-only</b></p>
<p style="margin-left:17%;">Activates: Enable <b>--cost</b>
and disable all other checkers (Conversely:
<b>--no-cost-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--crashcontext</b></p>
<p style="margin-left:17%;">Activates: the crashcontext
checker for Java stack trace context reconstruction
(Conversely: <b>--no-crashcontext</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--crashcontext-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--crashcontext</b> and disable all other checkers
(Conversely: <b>--no-crashcontext-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--current-to-previous-script</b> <i>shell</i></p>
<p style="margin-left:17%;">Specify a script to checkout a
previous version of the project to compare against, assuming
we are on the current version already.</p>
<p style="margin-left:11%;">See also <b>infer-diff</b>(1).
<b><br>
--no-cxx</b></p>
<p style="margin-left:17%;">Deactivates: Analyze C++
methods (Conversely: <b>--cxx</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--cxx-infer-headers</b></p>
<p style="margin-left:17%;">Activates: Include C++ header
models during compilation. Infer swaps some C++ headers for
its own in order to get a better model of, eg, the standard
library. This can sometimes cause compilation failures.
(Conversely: <b>--no-cxx-infer-headers</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--cxx-scope-guards</b> <i>json</i></p>
<p style="margin-left:17%;">Specify scope guard classes
that can be read only by destructors without being reported
as dead stores. (default: <i>[]</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--debug</b>,<b>-g</b></p>
<p style="margin-left:17%;">Activates: Debug mode (also
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
<b>--no-filtering</b>, <b>--print-buckets</b>,
<b>--print-types</b>, <b>--reports-include-ml-loc</b>,
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
<b>--no-debug</b> | <b>-G</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--debug-level</b> <i>level</i></p>
<p style="margin-left:17%;">Debug level (sets
<b>--bo-debug</b> <i>level</i>,
<b>--debug-level-analysis</b> <i>level</i>,
<b>--debug-level-capture</b> <i>level</i>,
<b>--debug-level-linters</b> <i>level</i>):</p>
<p style="margin-left:11%;">- 0: only basic debugging
enabled <br>
- 1: verbose debugging enabled <br>
- 2: very verbose debugging enabled <br>
See also <b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--debug-level-analysis</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the analysis.
See <b>--debug-level</b> for accepted values. (default:
<i>0</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--debug-level-capture</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the capture.
See <b>--debug-level</b> for accepted values. (default:
<i>0</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--debug-level-linters</b> <i>int</i></p>
<p style="margin-left:17%;">Debug level for the linters.
See <b>--debug-level</b> for accepted values. (default:
<i>0</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--no-default-checkers</b></p>
<p style="margin-left:17%;">Deactivates: Default checkers:
<b>--annotation-reachability</b>, <b>--biabduction</b>,
<b>--fragment-retains-view</b>, <b>--immutable-cast</b>,
<b>--linters</b>, <b>--liveness</b>, <b>--ownership</b>,
<b>--printf-args</b>, <b>--racerd</b>, <b>--siof</b>,
<b>--uninit</b> (Conversely: <b>--default-checkers</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--no-default-linters</b></p>
<p style="margin-left:17%;">Deactivates: Use the default
linters for the analysis. (Conversely:
<b>--default-linters</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--dependencies</b></p>
<p style="margin-left:17%;">Activates: Translate all the
dependencies during the capture. The classes in the given
jar file will be translated. No sources needed. (Conversely:
<b>--no-dependencies</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--differential-filter-files</b> <i>string</i></p>
<p style="margin-left:17%;">Specify the file containing the
list of source files for which a differential report is
desired. Source files should be specified relative to
project root or be absolute</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--disable-issue-type</b> <i>+issue_type</i></p>
<p style="margin-left:17%;">Do not show reports coming from
this type of issue. Each checker can report a range of issue
types. This option provides fine-grained filtering over
which types of issue should be reported once the checkers
have run. In particular, note that disabling issue types
does not make the corresponding checker not run.</p>
<p style="margin-left:11%;">By default, the following issue
types are disabled: <br>
ANALYSIS_STOPS, ARRAY_OUT_OF_BOUNDS_L1,
ARRAY_OUT_OF_BOUNDS_L2, <br>
ARRAY_OUT_OF_BOUNDS_L3, BUFFER_OVERRUN_L4,
BUFFER_OVERRUN_L5, <br>
BUFFER_OVERRUN_U5, CLASS_CAST_EXCEPTION,
CONDITION_ALWAYS_FALSE, <br>
CONDITION_ALWAYS_TRUE, DANGLING_POINTER_DEREFERENCE, <br>
DIVIDE_BY_ZERO, <br>
GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL,
<br>
INFERBO_ALLOC_MAY_BE_BIG, INFERBO_ALLOC_MAY_BE_NEGATIVE,
<br>
INFINITE_EXECUTION_TIME_CALL, NULL_TEST_AFTER_DEREFERENCE,
<br>
RETURN_VALUE_IGNORED, STACK_VARIABLE_ADDRESS_ESCAPE, <br>
UNARY_MINUS_APPLIED_TO_UNSIGNED_EXPRESSION. <br>
See also <b>--report-issue-type</b>. <br>
(default: <i><br>
ANALYSIS_STOPS,ARRAY_OUT_OF_BOUNDS_L1,ARRAY_OUT_OF_BOUNDS_L2,ARRAY_OUT_OF_BOUNDS_L3,BUFFER_OVERRUN_L4,BUFFER_OVERRUN_L5,BUFFER_OVERRUN_U5,CLASS_CAST_EXCEPTION,CONDITION_ALWAYS_FALSE,CONDITION_ALWAYS_TRUE,DANGLING_POINTER_DEREFERENCE,DIVIDE_BY_ZERO,GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL,INFERBO_ALLOC_MAY_BE_BIG,INFERBO_ALLOC_MAY_BE_NEGATIVE,INFINITE_EXECUTION_TIME_CALL,NULL_TEST_AFTER_DEREFERENCE,RETURN_VALUE_IGNORED,STACK_VARIABLE_ADDRESS_ESCAPE,UNARY_MINUS_APPLIED_TO_UNSIGNED_EXPRESSION</i>)
<br>
See also <b>infer-report</b>(1). <b><br>
--dump-duplicate-symbols</b></p>
<p style="margin-left:17%;">Activates: Dump all symbols
with the same name that are defined in more than one file.
(Conversely: <b>--no-dump-duplicate-symbols</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--enable-issue-type</b> <i>+issue_type</i></p>
<p style="margin-left:17%;">Show reports coming from this
type of issue. By default, all issue types are enabled
except the ones listed in <b>--disable-issue-type</b>. Note
that enabling issue types does not make the corresponding
checker run; see individual checker options to turn them on
or off.</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--eradicate</b></p>
<p style="margin-left:17%;">Activates: the eradicate
@Nullable checker for Java annotations (Conversely:
<b>--no-eradicate</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--eradicate-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--eradicate</b> and disable all other checkers
(Conversely: <b>--no-eradicate-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--external-java-packages</b> <i>+prefix</i></p>
<p style="margin-left:17%;">Specify a list of Java package
prefixes for external Java packages. If set, the analysis
will not report non-actionable warnings on those
packages.</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--fail-on-issue</b></p>
<p style="margin-left:17%;">Activates: Exit with error code
2 if Infer found something to report (Conversely:
<b>--no-fail-on-issue</b>)</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--file-renamings</b> <i>path</i></p>
<p style="margin-left:17%;">JSON with a list of file
renamings to use while computing differential reports</p>
<p style="margin-left:11%;">See also
<b>infer-reportdiff</b>(1). <b><br>
--filter-report</b> <i>+string</i></p>
<p style="margin-left:17%;">Specify a filter for issues to
report. 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:
&rsquo;&lt;issue_type_regex&gt;:&lt;filename_regex&gt;:&lt;reason_string&gt;&rsquo;.
The first two components are OCaml Str regular expressions,
with an optional &rsquo;!&rsquo; character prefix. If a
regex has a &rsquo;!&rsquo; prefix, the polarity is
inverted, and the filter becomes a &quot;blacklist&quot;
instead of a &quot;whitelist&quot;. Each filter is
interpreted as an implication: an issue matches if it does
not match the &rsquo;issue_type_regex&rsquo; or if it does
match the &rsquo;filename_regex&rsquo;. The filenames that
are tested by the regex are relative to the
&rsquo;--project-root&rsquo; directory. The
&rsquo;&lt;reason_string&gt;&rsquo; is a non-empty string
used to explain why the issue was filtered.</p>
<p style="margin-left:11%;">See also <b>infer-report</b>(1)
and <b>infer-run</b>(1). <b><br>
--no-filtering</b>,<b>-F</b></p>
<p style="margin-left:17%;">Deactivates: Do not show the
experimental and blacklisted issue types (Conversely:
<b>--filtering</b> | <b>-f</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--flavors</b></p>
<p style="margin-left:17%;">Activates: Buck integration
using Buck flavors (clang only), eg <i>&rsquo;infer
--flavors -- buck build //foo:bar#infer&rsquo;</i>
(Conversely: <b>--no-flavors</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--force-delete-results-dir</b></p>
<p style="margin-left:17%;">Activates: Do not refuse to
delete the results directory if it doesn't look like an
infer results directory. (Conversely:
<b>--no-force-delete-results-dir</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1), <b>infer-compile</b>(1),
<b>infer-diff</b>(1), and <b><br>
infer-run</b>(1). <b><br>
--force-integration</b> <i>command</i></p>
<p style="margin-left:17%;">Proceed as if the first
argument after <b>--</b> was <i>command</i>. Possible
values: <i>analyze</i>, <i>ant</i>, <i>buck</i>,
<i>gradle</i>, <i>gradlew</i>, <i>java</i>, <i>javac</i>,
<i>cc</i>, <i>clang</i>, <i>gcc</i>, <i>clang++</i>,
<i>c++</i>, <i>g++</i>, <i>make</i>, <i>configure</i>,
<i>cmake</i>, <i>waf</i>, <i>mvn</i>, <i>mvnw</i>,
<i>ndk-build</i>, <i>python</i>, <i>xcodebuild</i>.</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1) and <b>infer-run</b>(1). <b><br>
--no-fragment-retains-view</b></p>
<p style="margin-left:17%;">Deactivates: detects when
Android fragments are not explicitly nullified before
becoming unreabable (Conversely:
<b>--fragment-retains-view</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--fragment-retains-view-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--fragment-retains-view</b> and disable all other
checkers (Conversely:
<b>--no-fragment-retains-view-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--from-json-report</b> <i>report.json</i></p>
<p style="margin-left:17%;">Load analysis results from a
report file (default is to load the results from the specs
files generated by the analysis).</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--frontend-tests</b></p>
<p style="margin-left:17%;">Activates: Save
filename.ext.test.dot with the cfg in dotty format for
frontend tests (also sets <b>--print-types</b>) (Conversely:
<b>--no-frontend-tests</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--gen-previous-build-command-script</b> <i>shell</i></p>
<p style="margin-left:17%;">Specify a script that outputs
the build command to capture in the previous version of the
project. The script should output the command on stdout. For
example &quot;echo make&quot;.</p>
<p style="margin-left:11%;">See also <b>infer-diff</b>(1).
<b><br>
--generated-classes</b> <i>path</i></p>
<p style="margin-left:17%;">Specify where to load the
generated class files</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--headers</b></p>
<p style="margin-left:17%;">Activates: Analyze code in
header files (Conversely: <b>--no-headers</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--help</b></p>
<p style="margin-left:17%;">Show this manual</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-explore</b>(1), <b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--help-format</b> <i>{ auto | groff | pager | plain
}</i></p>
<p style="margin-left:17%;">Show this help in the specified
format. <b>auto</b> sets the format to <b>plain</b> if the
environment variable <b>TERM</b> is &quot;dumb&quot; or
undefined, and to <b>pager</b> otherwise. (default:
<i>auto</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-explore</b>(1), <b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--help-full</b></p>
<p style="margin-left:17%;">Show this manual with all
internal options in the INTERNAL OPTIONS section</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-compile</b>(1), <b><br>
infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-explore</b>(1), <b>infer-report</b>(1), <b><br>
infer-reportdiff</b>(1), and <b>infer-run</b>(1). <b><br>
--html</b></p>
<p style="margin-left:17%;">Activates: Generate html
report. (Conversely: <b>--no-html</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-immutable-cast</b></p>
<p style="margin-left:17%;">Deactivates: the detection of
object cast from immutable type to mutable type. For
instance, it will detect cast from ImmutableList to List,
ImmutableMap to Map, and ImmutableSet to Set. (Conversely:
<b>--immutable-cast</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--immutable-cast-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--immutable-cast</b> and disable all other checkers
(Conversely: <b>--no-immutable-cast-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--iphoneos-target-sdk-version</b> <i>string</i></p>
<p style="margin-left:17%;">Specify the target SDK version
to use for iphoneos</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--iphoneos-target-sdk-version-path-regex</b>
<i>+string</i></p>
<p style="margin-left:17%;">To pass a specific target SDK
version to use for iphoneos in a particular path, with the
format path:version (can be specified multiple times)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--issues-fields</b> <i>,-separated sequence of { bug_class |
kind | bug_type | <br>
bucket | qualifier | severity | visibility | line | column |
procedure <br>
| procedure_id | procedure_start_line | file | bug_trace |
key | hash | <br>
line_offset | procedure_id_without_crc | <br>
qualifier_contains_potential_exception_note }</i></p>
<p style="margin-left:17%;">Fields to emit with
<b>--issues-tests</b> (default: <i>file procedure
line_offset bug_type bucket kind bug_trace</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--issues-tests</b> <i>file</i></p>
<p style="margin-left:17%;">Write a list of issues in a
format suitable for tests to <i>file</i></p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--issues-txt</b> <i>file</i></p>
<p style="margin-left:17%;">Write a list of issues in text
format to <i>file</i> (default: infer-out/bugs.txt)</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--java-jar-compiler</b> <i>path</i></p>
<p style="margin-left:17%;">Specify the Java compiler jar
used to generate the bytecode</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--jobs</b>,<b>-j</b> <i>int</i></p>
<p style="margin-left:17%;">Run the specified number of
analysis jobs simultaneously (default: <i>4</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--keep-going</b></p>
<p style="margin-left:17%;">Activates: Keep going when the
analysis encounters a failure (Conversely:
<b>--no-keep-going</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--linter</b> <i>string</i></p>
<p style="margin-left:17%;">From the linters available,
only run this one linter. (Useful together with
<b>--linters-developer-mode</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--no-linters</b></p>
<p style="margin-left:17%;">Deactivates: syntactic linters
(Conversely: <b>--linters</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--linters-def-file</b> <i>+file</i></p>
<p style="margin-left:17%;">Specify the file containing
linters definition (e.g. 'linters.al')</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--linters-def-folder</b> <i>+dir</i></p>
<p style="margin-left:17%;">Specify the folder containing
linters files with extension .al</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--linters-developer-mode</b></p>
<p style="margin-left:17%;">Activates: Debug mode for
developing new linters. (Sets the analyzer to
<b>linters</b>; also sets <b>--debug</b>,
<b>--debug-level-linters 2</b>, <b>--developer-mode</b>, and
unsets <b>--allowed-failures</b> and
<b>--default-linters</b>. (Conversely:
<b>--no-linters-developer-mode</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--linters-doc-url</b> <i>+string</i></p>
<p style="margin-left:17%;">Specify custom documentation
URL for some linter that overrides the default one. Useful
if your project has specific ways of fixing a lint error
that is not true in general or public info. Format:
linter_name:doc_url.</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--linters-ignore-clang-failures</b></p>
<p style="margin-left:17%;">Activates: Continue linting
files even if some compilation fails. (Conversely:
<b>--no-linters-ignore-clang-failures</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--linters-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--linters</b> and disable all other checkers (Conversely:
<b>--no-linters-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--linters-validate-syntax-only</b></p>
<p style="margin-left:17%;">Activates: Validate syntax of
AL files, then emit possible errors in JSON format to stdout
(Conversely: <b>--no-linters-validate-syntax-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--litho</b></p>
<p style="margin-left:17%;">Activates: Experimental
checkers supporting the Litho framework (Conversely:
<b>--no-litho</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--litho-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--litho</b> and disable all other checkers (Conversely:
<b>--no-litho-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--no-liveness</b></p>
<p style="margin-left:17%;">Deactivates: the detection of
dead stores and unused variables (Conversely:
<b>--liveness</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--liveness-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--liveness</b> and disable all other checkers
(Conversely: <b>--no-liveness-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--load-average</b>,<b>-l</b> <i>float</i></p>
<p style="margin-left:17%;">Do not start new parallel jobs
if the load average is greater than that specified (Buck and
make only)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--log-events</b></p>
<p style="margin-left:17%;">Activates: Turn on the feature
that logs events in a machine-readable format (Conversely:
<b>--no-log-events</b>)</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--max-nesting</b> <i>int</i></p>
<p style="margin-left:17%;">Level of nested procedure calls
to show. Trace elements beyond the maximum nesting level are
skipped. If omitted, all levels are shown.</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--merge</b></p>
<p style="margin-left:17%;">Activates: Merge the captured
results directories specified in the dependency file
(Conversely: <b>--no-merge</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--ml-buckets</b> <i>,-separated sequence of { all | cf | arc
| narc | cpp | <br>
unknown_origin }</i></p>
<p style="margin-left:17%;">Specify the memory leak buckets
to be checked in C++:</p>
<p style="margin-left:11%;">- <b>cpp</b> from C++ code <br>
(default: <i>cf</i>) <br>
See also <b>infer-analyze</b>(1). <b><br>
--only-show</b></p>
<p style="margin-left:17%;">Activates: Show the list of
reports and exit (Conversely: <b>--no-only-show</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-ownership</b></p>
<p style="margin-left:17%;">Deactivates: the detection of
C++ lifetime bugs (Conversely: <b>--ownership</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--ownership-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--ownership</b> and disable all other checkers
(Conversely: <b>--no-ownership-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--pmd-xml</b></p>
<p style="margin-left:17%;">Activates: Output issues in
(PMD) XML format (Conversely: <b>--no-pmd-xml</b>)</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--previous-to-current-script</b> <i>shell</i></p>
<p style="margin-left:17%;">Specify a script to checkout
the current version of the project. The project is supposed
to already be at that current version when running <b>infer
diff</b>; the script is used after having analyzed the
current and previous versions of the project, to restore the
project to the current version.</p>
<p style="margin-left:11%;">See also <b>infer-diff</b>(1).
<b><br>
--print-active-checkers</b></p>
<p style="margin-left:17%;">Activates: Print the active
checkers before starting the analysis (Conversely:
<b>--no-print-active-checkers</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--print-log-identifier</b></p>
<p style="margin-left:17%;">Activates: Print the unique
identifier that is common to all logged events (Conversely:
<b>--no-print-log-identifier</b>)</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--print-logs</b></p>
<p style="margin-left:17%;">Activates: Also log messages to
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-report</b>(1), and <b><br>
infer-run</b>(1). <b><br>
--no-printf-args</b></p>
<p style="margin-left:17%;">Deactivates: the detection of
mismatch between the Java printf format strings and the
argument types For, example, this checker will warn about
the type error in &rsquo;printf(&quot;Hello %d&quot;,
&quot;world&quot;)&rsquo; (Conversely:
<b>--printf-args</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--printf-args-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--printf-args</b> and disable all other checkers
(Conversely: <b>--no-printf-args-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--procedures</b></p>
<p style="margin-left:17%;">Activates: Print functions and
methods discovered by infer (Conversely:
<b>--no-procedures</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--procedures-attributes</b></p>
<p style="margin-left:17%;">Activates: Print the attributes
of each procedure in the output of <b>--procedures</b>
(Conversely: <b>--no-procedures-attributes</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-procedures-definedness</b></p>
<p style="margin-left:17%;">Deactivates: Include procedures
definedness in the output of <b>--procedures</b>, i.e.
whether the procedure definition was found, or only the
procedure declaration, or the procedure is an auto-generated
Objective-C accessor (Conversely:
<b>--procedures-definedness</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--procedures-filter</b> <i>filter</i></p>
<p style="margin-left:17%;">With <b>--procedures</b>, only
print functions and methods (procedures) matching the
specified <i>filter</i>. A procedure filter is of the form
<i>path_pattern:procedure_name</i>. Patterns are interpreted
by SQLite: use <b>_</b> to match any one character and
<b>%</b> to match any sequence of characters. For instance,
to keep only methods named &quot;foo&quot;, one can use the
filter &quot;%:foo&quot;.</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--procedures-name</b></p>
<p style="margin-left:17%;">Activates: Include procedures
names in the output of <b>--procedures</b> (Conversely:
<b>--no-procedures-name</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-procedures-source-file</b></p>
<p style="margin-left:17%;">Deactivates: Include the source
file in which the procedure definition or declaration was
found in the output of <b>--procedures</b> (Conversely:
<b>--procedures-source-file</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-progress-bar</b>,<b>-P</b></p>
<p style="margin-left:17%;">Deactivates: Show a progress
bar (Conversely: <b>--progress-bar</b> | <b>-p</b>)</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--project-root</b>,<b>-C</b> <i>dir</i></p>
<p style="margin-left:17%;">Specify the root directory of
the project (default: <i>/home/jul/infer.fb</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-report</b>(1), and <b><br>
infer-run</b>(1). <b><br>
--quandary</b></p>
<p style="margin-left:17%;">Activates: the quandary taint
analysis (Conversely: <b>--no-quandary</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--quandary-endpoints</b> <i>json</i></p>
<p style="margin-left:17%;">Specify endpoint classes for
Quandary (default: <i>[]</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--quandary-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--quandary</b> and disable all other checkers
(Conversely: <b>--no-quandary-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--quandary-sanitizers</b> <i>json</i></p>
<p style="margin-left:17%;">Specify custom sanitizers for
Quandary (default: <i>[]</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--quandary-sinks</b> <i>json</i></p>
<p style="margin-left:17%;">Specify custom sinks for
Quandary (default: <i>[]</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--quandary-sources</b> <i>json</i></p>
<p style="margin-left:17%;">Specify custom sources for
Quandary (default: <i>[]</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--quiet</b>,<b>-q</b></p>
<p style="margin-left:17%;">Activates: Do not print specs
on standard output (default: only print for the
<b>report</b> command) (Conversely: <b>--no-quiet</b> |
<b>-Q</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1) and <b>infer-report</b>(1). <b><br>
--no-racerd</b></p>
<p style="margin-left:17%;">Deactivates: the RacerD thread
safety analysis (Conversely: <b>--racerd</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--racerd-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--racerd</b> and disable all other checkers (Conversely:
<b>--no-racerd-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--reactive</b>,<b>-r</b></p>
<p style="margin-left:17%;">Activates: Reactive mode: the
analysis starts from the files captured since the
<i>infer</i> command started (Conversely:
<b>--no-reactive</b> | <b>-R</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--no-report</b></p>
<p style="margin-left:17%;">Deactivates: Run the reporting
phase once the analysis has completed (Conversely:
<b>--report</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1) and <b>infer-run</b>(1). <b><br>
--report-current</b> <i>path</i></p>
<p style="margin-left:17%;">report of the latest
revision</p>
<p style="margin-left:11%;">See also
<b>infer-reportdiff</b>(1). <b><br>
--report-formatter</b> <i>{ none | phabricator }</i></p>
<p style="margin-left:17%;">Which formatter to use when
emitting the report (default: <i>phabricator</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--report-hook</b> <i>script</i></p>
<p style="margin-left:17%;">Specify a script to be executed
after the analysis results are written. This script will be
passed, <b>--issues-json</b>, <b>--issues-txt</b>,
<b>--issues-xml</b>, <b>--project-root</b>, and
<b>--results-dir</b>. (default:
<i>/home/jul/infer.fb/infer/bin/../lib/python/report.py</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1) and <b>infer-run</b>(1). <b><br>
--report-previous</b> <i>path</i></p>
<p style="margin-left:17%;">Report of the base revision to
use for comparison</p>
<p style="margin-left:11%;">See also
<b>infer-reportdiff</b>(1). <b><br>
--results-dir</b>,<b>-o</b> <i>dir</i></p>
<p style="margin-left:17%;">Write results and internal
files in the specified directory (default:
<i>/home/jul/infer.fb/infer-out</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1), <b>infer-capture</b>(1),
<b>infer-explore</b>(1), <b><br>
infer-report</b>(1), and <b>infer-run</b>(1). <b><br>
--select</b> <i>N</i></p>
<p style="margin-left:17%;">Select bug number <i>N</i>. If
omitted, prompt for input.</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-siof</b></p>
<p style="margin-left:17%;">Deactivates: the Static
Initialization Order Fiasco analysis (C++ only) (Conversely:
<b>--siof</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--siof-check-iostreams</b></p>
<p style="margin-left:17%;">Activates: Do not assume that
iostreams (cout, cerr, ...) are always initialized. The
default is to assume they are always initialized when
<b>--cxx-infer-headers</b> is false to avoid false positives
due to lack of models of the proper initialization of io
streams. However, if your program compiles against a recent
libstdc++ then the infer models are not needed for precision
and it is safe to turn this option on. (Conversely:
<b>--no-siof-check-iostreams</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--siof-only</b></p>
<p style="margin-left:17%;">Activates: Enable <b>--siof</b>
and disable all other checkers (Conversely:
<b>--no-siof-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--siof-safe-methods</b> <i>+string</i></p>
<p style="margin-left:17%;">Methods that are SIOF-safe;
&quot;foo::bar&quot; will match &quot;foo::bar()&quot;,
&quot;foo&lt;int&gt;::bar()&quot;, etc. (can be specified
multiple times)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--skip-analysis-in-path</b>
<i>+path_prefix_OCaml_regex</i></p>
<p style="margin-left:17%;">Ignore files whose path matches
the given prefix (can be specified multiple times)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1) and <b>infer-run</b>(1). <b><br>
--skip-analysis-in-path-skips-compilation</b></p>
<p style="margin-left:17%;">Activates: Whether paths in
--skip-analysis-in-path should be compiled or not
(Conversely:
<b>--no-skip-analysis-in-path-skips-compilation</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-report</b>(1). <b><br>
--no-skip-duplicated-types</b></p>
<p style="margin-left:17%;">Deactivates: Skip
fixed-then-introduced duplicated types while computing
differential reports (Conversely:
<b>--skip-duplicated-types</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-reportdiff</b>(1). <b><br>
--skip-translation-headers</b> <i>+path_prefix</i></p>
<p style="margin-left:17%;">Ignore headers whose path
matches the given prefix</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--source-files</b></p>
<p style="margin-left:17%;">Activates: Print source files
discovered by infer (Conversely:
<b>--no-source-files</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--source-files-cfgs</b></p>
<p style="margin-left:17%;">Activates: Print the Cfgs of
each source file in the output of <b>--source-files</b>
(Conversely: <b>--no-source-files-cfgs</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--source-files-filter</b> <i>filter</i></p>
<p style="margin-left:17%;">With <b>--source-files</b>,
only print source files matching the specified
<i>filter</i>. The filter is a pattern that should match the
file path. Patterns are interpreted by SQLite: use <b>_</b>
to match any one character and <b>%</b> to match any
sequence of characters. For instance, &quot;lib/%.c&quot;
matches only C files in the lib directory.</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--source-files-freshly-captured</b></p>
<p style="margin-left:17%;">Activates: Print whether the
source file has been captured in the most recent capture
phase in the output of <b>--source-files</b>. (Conversely:
<b>--no-source-files-freshly-captured</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--source-files-procedure-names</b></p>
<p style="margin-left:17%;">Activates: Print the names of
procedure of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-procedure-names</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--source-files-type-environment</b></p>
<p style="margin-left:17%;">Activates: Print the type
environment of each source file in the output of
<b>--source-files</b> (Conversely:
<b>--no-source-files-type-environment</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--no-source-preview</b></p>
<p style="margin-left:17%;">Deactivates: print code
excerpts around trace elements (Conversely:
<b>--source-preview</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-explore</b>(1). <b><br>
--stacktrace</b> <i>file</i></p>
<p style="margin-left:17%;">File path containing a
json-encoded Java crash stacktrace. Used to guide the
analysis (only with '-a crashcontext'). See
tests/codetoanalyze/java/crashcontext/*.json for examples of
the expected format.</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--stacktraces-dir</b> <i>dir</i></p>
<p style="margin-left:17%;">Directory path containing
multiple json-encoded Java crash stacktraces. Used to guide
the analysis (only with '-a crashcontext'). See
tests/codetoanalyze/java/crashcontext/*.json for examples of
the expected format.</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--starvation</b></p>
<p style="margin-left:17%;">Activates: starvation analysis
(Conversely: <b>--no-starvation</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--starvation-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--starvation</b> and disable all other checkers
(Conversely: <b>--no-starvation-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--suggest-nullable</b></p>
<p style="margin-left:17%;">Activates: Nullable annotation
sugesstions analysis (Conversely:
<b>--no-suggest-nullable</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--suggest-nullable-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--suggest-nullable</b> and disable all other checkers
(Conversely: <b>--no-suggest-nullable-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--threadsafe-aliases</b> <i>json</i></p>
<p style="margin-left:17%;">Specify custom annotations that
should be considered aliases of @ThreadSafe (default:
<i>[]</i>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--no-uninit</b></p>
<p style="margin-left:17%;">Deactivates: checker for use of
uninitialized values (Conversely: <b>--uninit</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--uninit-only</b></p>
<p style="margin-left:17%;">Activates: Enable
<b>--uninit</b> and disable all other checkers (Conversely:
<b>--no-uninit-only</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--unsafe-malloc</b></p>
<p style="margin-left:17%;">Activates: Assume that
malloc(3) never returns null. (Conversely:
<b>--no-unsafe-malloc</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-analyze</b>(1). <b><br>
--version</b></p>
<p style="margin-left:17%;">Print version information and
exit</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--version-json</b></p>
<p style="margin-left:17%;">Print version information in
json format and exit</p>
<p style="margin-left:11%;">See also <b>infer-run</b>(1).
<b><br>
--Xbuck</b> <i>+string</i></p>
<p style="margin-left:17%;">Pass values as command-line
arguments to invocations of <i>&rsquo;buck
build&rsquo;</i></p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--xcode-developer-dir</b> <i>XCODE_DEVELOPER_DIR</i></p>
<p style="margin-left:17%;">Specify the path to Xcode
developer directory</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1). <b><br>
--xcpretty</b></p>
<p style="margin-left:17%;">Activates: Infer will use
xcpretty together with xcodebuild to analyze an iOS app.
xcpretty just needs to be in the path, infer command is
still just <i>&rsquo;infer -- &lt;xcodebuild
command&gt;&rsquo;</i>. (Conversely:
<b>--no-xcpretty</b>)</p>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1).</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">
<p><b>--</b></p></td>
<td width="3%"></td>
<td width="83%">
<p>Stop argument processing, use remaining arguments as a
build command</p></td></tr>
</table>
<p style="margin-left:11%;">See also
<b>infer-capture</b>(1) and <b>infer-run</b>(1).</p>
<h2>ENVIRONMENT
<a name="ENVIRONMENT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Extra arguments
may be passed to all infer commands using the
<b>INFER_ARGS</b> environment variable (see the
<i>OPTIONS</i> section). <b>INFER_ARGS</b> is expected to
contain a string of ^-separated options. For instance,
calling &rsquo;INFER_ARGS=--debug^--print-logs infer&rsquo;
is equivalent to calling &rsquo;infer --debug
--print-logs&rsquo;.</p>
<p style="margin-left:11%; margin-top: 1em"><b>INFERCONFIG</b>:
Tells infer where to find the .inferconfig file. (See the
FILES section)</p>
<p style="margin-left:11%; margin-top: 1em">If
<b>INFER_STRICT_MODE</b> is set to &quot;1&quot;, then infer
commands will exit with an error code in some cases when
otherwise a simple warning would be emitted on stderr, for
instance if a deprecated form of an option is used.</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b>
can be used to store infer options. Its format is that of a
JSON record, where fields are infer long-form options,
without their leading &quot;--&quot;, and values depend on
the type of the option: <br>
- for switches options, the value is a JSON boolean (true or
false, without quotes) <br>
- for integers, the value is a JSON integer (without quotes)
<br>
- string options have string values <br>
- path options have string values, and are interpreted
relative to the location of the .inferconfig file <br>
- cumulative options are JSON arrays of the appropriate
type</p>
<p style="margin-left:11%; margin-top: 1em">Infer will look
for an <b>.inferconfig</b> file in the current directory,
then its parent, etc., stopping at the first
<b>.inferconfig</b> file found.</p>
<p style="margin-left:11%; margin-top: 1em">Example:</p>
<p style="margin-left:11%; margin-top: 1em">{ <br>
&quot;cxx&quot;: false, <br>
&quot;infer-blacklist-files-containing&quot;:
[&quot;@generated&quot;,&quot;@Generated&quot;] <br>
}</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1),
<b>infer-capture</b>(1), <b>infer-compile</b>(1),
<b>infer-diff</b>(1), <b>infer-events</b>(1),
<b>infer-explore</b>(1), <b>infer-report</b>(1),
<b>infer-reportdiff</b>(1), <b>infer-run</b>(1)</p>
<hr>
</body>
</html>