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.
713 lines
21 KiB
713 lines
21 KiB
5 years ago
|
<!-- Creator : groff version 1.22.3 -->
|
||
|
<!-- CreationDate: Thu Jun 7 16:35:58 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-analyze</title>
|
||
|
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<h1 align="center">infer-analyze</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="#BUCK FLAVORS OPTIONS">BUCK FLAVORS OPTIONS</a><br>
|
||
|
<a href="#BUFFER OVERRUN OPTIONS">BUFFER OVERRUN OPTIONS</a><br>
|
||
|
<a href="#CLANG OPTIONS">CLANG OPTIONS</a><br>
|
||
|
<a href="#CRASHCONTEXT OPTIONS">CRASHCONTEXT OPTIONS</a><br>
|
||
|
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
|
||
|
<a href="#QUANDARY CHECKER OPTIONS">QUANDARY CHECKER OPTIONS</a><br>
|
||
|
<a href="#RACERD CHECKER OPTIONS">RACERD CHECKER OPTIONS</a><br>
|
||
|
<a href="#SIOF CHECKER OPTIONS">SIOF CHECKER 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-analyze -
|
||
|
analyze the files captured by infer</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</b> <i>[options]</i></p>
|
||
|
|
||
|
<h2>DESCRIPTION
|
||
|
<a name="DESCRIPTION"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em">Analyze the
|
||
|
files captured in the project results directory and
|
||
|
report.</p>
|
||
|
|
||
|
<h2>OPTIONS
|
||
|
<a name="OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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>) <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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--bufferoverrun</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Activates: the buffer overrun
|
||
|
analysis (Conversely: <b>--no-bufferoverrun</b>)</p>
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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 <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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--help</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Show this manual</p>
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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 "dumb" or
|
||
|
undefined, and to <b>pager</b> otherwise. (default:
|
||
|
<i>auto</i>)</p>
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--no-linters</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Deactivates: syntactic linters
|
||
|
(Conversely: <b>--linters</b>)</p>
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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 ’printf("Hello %d",
|
||
|
"world")’ (Conversely:
|
||
|
<b>--printf-args</b>)</p>
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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%;"><b>--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%;"><b>--quandary</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Activates: the quandary taint
|
||
|
analysis (Conversely: <b>--no-quandary</b>)</p>
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--starvation</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Activates: starvation analysis
|
||
|
(Conversely: <b>--no-starvation</b>)</p>
|
||
|
|
||
|
<p style="margin-left:11%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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%;"><b>--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>
|
||
|
|
||
|
<h2>BUCK FLAVORS OPTIONS
|
||
|
<a name="BUCK FLAVORS OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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>
|
||
|
|
||
|
<h2>BUFFER OVERRUN OPTIONS
|
||
|
<a name="BUFFER OVERRUN OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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>
|
||
|
|
||
|
<h2>CLANG OPTIONS
|
||
|
<a name="CLANG OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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%;"><b>--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>) <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>
|
||
|
|
||
|
<h2>CRASHCONTEXT OPTIONS
|
||
|
<a name="CRASHCONTEXT OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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%;"><b>--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>
|
||
|
|
||
|
<h2>JAVA OPTIONS
|
||
|
<a name="JAVA OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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>
|
||
|
{ "sources" : ["Source1",
|
||
|
"Source2"], "sink" : "Sink1" }
|
||
|
<br>
|
||
|
(default: <i>[]</i>) <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>
|
||
|
|
||
|
<h2>QUANDARY CHECKER OPTIONS
|
||
|
<a name="QUANDARY CHECKER OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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%;"><b>--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%;"><b>--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%;"><b>--quandary-sources</b>
|
||
|
<i>json</i></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Specify custom sources for
|
||
|
Quandary (default: <i>[]</i>)</p>
|
||
|
|
||
|
<h2>RACERD CHECKER OPTIONS
|
||
|
<a name="RACERD CHECKER OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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>
|
||
|
|
||
|
<h2>SIOF CHECKER OPTIONS
|
||
|
<a name="SIOF CHECKER OPTIONS"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>--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%;"><b>--siof-safe-methods</b>
|
||
|
<i>+string</i></p>
|
||
|
|
||
|
<p style="margin-left:17%;">Methods that are SIOF-safe;
|
||
|
"foo::bar" will match "foo::bar()",
|
||
|
"foo<int>::bar()", etc. (can be specified
|
||
|
multiple times)</p>
|
||
|
|
||
|
<h2>ENVIRONMENT
|
||
|
<a name="ENVIRONMENT"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||
|
the manual of <b>infer</b>(1).</p>
|
||
|
|
||
|
<h2>FILES
|
||
|
<a name="FILES"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||
|
|
||
|
<p style="margin-left:17%;">See the FILES section in the
|
||
|
manual of <b>infer</b>(1).</p>
|
||
|
|
||
|
<h2>SEE ALSO
|
||
|
<a name="SEE ALSO"></a>
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1),
|
||
|
<b>infer-run</b>(1)</p>
|
||
|
<hr>
|
||
|
</body>
|
||
|
</html>
|