@ -67,7 +67,6 @@ OPTIONS
checker Example format: for custom annotations
checker Example format: for custom annotations
com.my.annotation.{Source1,Source2,Sink1}
com.my.annotation.{Source1,Source2,Sink1}
{ "sources" : ["Source1", "Source2"], "sink" : "Sink1" }
{ "sources" : ["Source1", "Source2"], "sink" : "Sink1" }
(default: [])
See also infer-analyze(1).
See also infer-analyze(1).
--annotation-reachability-cxx json
--annotation-reachability-cxx json
@ -93,12 +92,12 @@ OPTIONS
issue for every function whose source path starts with "isolated/"
issue for every function whose source path starts with "isolated/"
that may reach the function named "connect", ignoring paths that
that may reach the function named "connect", ignoring paths that
go through a symbol starting with "Trusted::".
go through a symbol starting with "Trusted::".
(default: [])
See also infer-analyze(1).
See also infer-analyze(1).
--annotation-reachability-cxx-sources json
--annotation-reachability-cxx-sources json
Override sources in all cxx annotation reachability specs with the
Override sources in all cxx annotation reachability specs with the
given sources spec (default: []) See also infer-analyze(1).
given sources spec See also infer-analyze(1).
--annotation-reachability-only
--annotation-reachability-only
Activates: Enable --annotation-reachability and disable all other
Activates: Enable --annotation-reachability and disable all other
@ -119,8 +118,7 @@ OPTIONS
(Conversely: --no-biabduction-only) See also infer-analyze(1).
(Conversely: --no-biabduction-only) See also infer-analyze(1).
--bo-debug int
--bo-debug int
Debug level for buffer-overrun checker (0-4) (default: 0)
Debug level for buffer-overrun checker (0-4) See also infer-analyze(1).
See also infer-analyze(1).
--bo-relational-domain { oct | poly }
--bo-relational-domain { oct | poly }
Select a relational domain being used in the bufferoverrun checker
Select a relational domain being used in the bufferoverrun checker
@ -193,13 +191,10 @@ OPTIONS
See also infer-capture(1).
See also infer-capture(1).
--clang-blacklisted-flags +string
--clang-blacklisted-flags +string
Clang flags to filter out (default:
Clang flags to filter out See also infer-capture(1).
--expt-relaxed-constexpr,-fembed-bitcode-marker,-fno-absolute-module-directory,-fno-canonical-system-headers)
See also infer-capture(1).
--clang-blacklisted-flags-with-arg +string
--clang-blacklisted-flags-with-arg +string
Clang flags (taking args) to filter out (default:
Clang flags (taking args) to filter out See also infer-capture(1).
-index-store-path,-mllvm) See also infer-capture(1).
--class-loads
--class-loads
Activates: Java class loading analysis (Conversely:
Activates: Java class loading analysis (Conversely:
@ -250,8 +245,7 @@ OPTIONS
See also infer-diff(1).
See also infer-diff(1).
--custom-symbols json
--custom-symbols json
Specify named lists of symbols available to rules (default: [])
Specify named lists of symbols available to rules See also infer-analyze(1).
See also infer-analyze(1).
--no-cxx
--no-cxx
Deactivates: Analyze C++ methods (Conversely: --cxx)
Deactivates: Analyze C++ methods (Conversely: --cxx)
@ -265,8 +259,7 @@ OPTIONS
--cxx-scope-guards json
--cxx-scope-guards json
Specify scope guard classes that can be read only by destructors
Specify scope guard classes that can be read only by destructors
without being reported as dead stores. (default: [])
without being reported as dead stores. See also infer-analyze(1).
See also infer-analyze(1).
--debug,-g
--debug,-g
Activates: Debug mode (also sets --debug-level 2,
Activates: Debug mode (also sets --debug-level 2,
@ -289,19 +282,19 @@ OPTIONS
--debug-level-analysis int
--debug-level-analysis int
Debug level for the analysis. See --debug-level for accepted
Debug level for the analysis. See --debug-level for accepted
values. (default: 0) See also infer-analyze(1), infer-capture(1), infer-compile(1),
values. See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-diff(1), infer-events(1), infer-report(1),
infer-diff(1), infer-events(1), infer-report(1),
infer-reportdiff(1), and infer-run(1).
infer-reportdiff(1), and infer-run(1).
--debug-level-capture int
--debug-level-capture int
Debug level for the capture. See --debug-level for accepted
Debug level for the capture. See --debug-level for accepted
values. (default: 0) See also infer-analyze(1), infer-capture(1), infer-compile(1),
values. See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-diff(1), infer-events(1), infer-report(1),
infer-diff(1), infer-events(1), infer-report(1),
infer-reportdiff(1), and infer-run(1).
infer-reportdiff(1), and infer-run(1).
--debug-level-linters int
--debug-level-linters int
Debug level for the linters. See --debug-level for accepted
Debug level for the linters. See --debug-level for accepted
values. (default: 0) See also infer-analyze(1), infer-capture(1), infer-compile(1),
values. See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-diff(1), infer-events(1), infer-report(1),
infer-diff(1), infer-events(1), infer-report(1),
infer-reportdiff(1), and infer-run(1).
infer-reportdiff(1), and infer-run(1).
@ -595,7 +588,7 @@ OPTIONS
--help-format { auto | groff | pager | plain }
--help-format { auto | groff | pager | plain }
Show this help in the specified format. auto sets the format to
Show this help in the specified format. auto sets the format to
plain if the environment variable TERM is "dumb" or undefined, and
plain if the environment variable TERM is "dumb" or undefined, and
to pager otherwise. (default: auto) See also infer-analyze(1), infer-capture(1), infer-compile(1),
to pager otherwise. See also infer-analyze(1), infer-capture(1), infer-compile(1),
infer-diff(1), infer-events(1), infer-explore(1), infer-report(1),
infer-diff(1), infer-events(1), infer-explore(1), infer-report(1),
infer-reportdiff(1), and infer-run(1).
infer-reportdiff(1), and infer-run(1).
@ -646,8 +639,7 @@ OPTIONS
qualifier | severity | line | column | procedure |
qualifier | severity | line | column | procedure |
procedure_start_line | file | bug_trace | key | hash | line_offset |
procedure_start_line | file | bug_trace | key | hash | line_offset |
qualifier_contains_potential_exception_note }
qualifier_contains_potential_exception_note }
Fields to emit with --issues-tests (default: file procedure
Fields to emit with --issues-tests See also infer-report(1).
line_offset bug_type bucket severity bug_trace) See also infer-report(1).
--issues-tests file
--issues-tests file
Write a list of issues in a format suitable for tests to file
Write a list of issues in a format suitable for tests to file
@ -662,8 +654,8 @@ OPTIONS
See also infer-capture(1).
See also infer-capture(1).
--jobs,-j int
--jobs,-j int
Run the specified number of analysis jobs simultaneously (default:
Run the specified number of analysis jobs simultaneously
<number of cores>) See also infer-analyze(1).
See also infer-analyze(1).
--keep-going
--keep-going
Activates: Keep going when the analysis encounters a failure
Activates: Keep going when the analysis encounters a failure
@ -728,7 +720,7 @@ OPTIONS
computing liveness. In other words, assignement to variables of
computing liveness. In other words, assignement to variables of
these types (or common wrappers around these types such as
these types (or common wrappers around these types such as
unique_ptr<type>) will count as dead stores when the variables are
unique_ptr<type>) will count as dead stores when the variables are
not read explicitly by the program. (default: []) See also infer-analyze(1).
not read explicitly by the program. See also infer-analyze(1).
--liveness-only
--liveness-only
Activates: Enable --liveness and disable all other checkers
Activates: Enable --liveness and disable all other checkers
@ -769,7 +761,7 @@ OPTIONS
unknown_origin }
unknown_origin }
Specify the memory leak buckets to be checked in C++:
Specify the memory leak buckets to be checked in C++:
- cpp from C++ code
- cpp from C++ code
(default: cf)
See also infer-analyze(1).
See also infer-analyze(1).
--nullsafe
--nullsafe
@ -862,11 +854,10 @@ OPTIONS
--progress-bar-style { auto | plain | multiline }
--progress-bar-style { auto | plain | multiline }
Style of the progress bar. auto selects multiline if connected to
Style of the progress bar. auto selects multiline if connected to
a tty, otherwise plain. (default: auto) See also infer-analyze(1) and infer-capture(1).
a tty, otherwise plain. See also infer-analyze(1) and infer-capture(1).
--project-root,-C dir
--project-root,-C dir
Specify the root directory of the project (default: .)
Specify the root directory of the project See also infer-analyze(1), infer-capture(1), infer-report(1), and
See also infer-analyze(1), infer-capture(1), infer-report(1), and
infer-run(1).
infer-run(1).
--pulse
--pulse
@ -890,22 +881,20 @@ OPTIONS
See also infer-analyze(1).
See also infer-analyze(1).
--quandary-endpoints json
--quandary-endpoints json
Specify endpoint classes for Quandary (default: [])
Specify endpoint classes for Quandary See also infer-analyze(1).
See also infer-analyze(1).
--quandary-only
--quandary-only
Activates: Enable --quandary and disable all other checkers
Activates: Enable --quandary and disable all other checkers
(Conversely: --no-quandary-only) See also infer-analyze(1).
(Conversely: --no-quandary-only) See also infer-analyze(1).
--quandary-sanitizers json
--quandary-sanitizers json
Specify custom sanitizers for Quandary (default: [])
Specify custom sanitizers for Quandary See also infer-analyze(1).
See also infer-analyze(1).
--quandary-sinks json
--quandary-sinks json
Specify custom sinks for Quandary (default: []) See also infer-analyze(1).
Specify custom sinks for Quandary See also infer-analyze(1).
--quandary-sources json
--quandary-sources json
Specify custom sources for Quandary (default: []) See also infer-analyze(1).
Specify custom sources for Quandary See also infer-analyze(1).
--quandaryBO
--quandaryBO
Activates: [EXPERIMENTAL] The quandaryBO tainted buffer access
Activates: [EXPERIMENTAL] The quandaryBO tainted buffer access
@ -959,14 +948,12 @@ OPTIONS
See also infer-analyze(1) and infer-run(1).
See also infer-analyze(1) and infer-run(1).
--report-formatter { none | phabricator }
--report-formatter { none | phabricator }
Which formatter to use when emitting the report (default:
Which formatter to use when emitting the report See also infer-report(1).
phabricator) See also infer-report(1).
--report-hook script
--report-hook script
Specify a script to be executed after the analysis results are
Specify a script to be executed after the analysis results are
written. This script will be passed, --issues-json, --issues-txt,
written. This script will be passed, --issues-json, --issues-txt,
--issues-xml, --project-root, and --results-dir. (default: <infer
--issues-xml, --project-root, and --results-dir. See also infer-analyze(1) and infer-run(1).
installation directory>/lib/python/report.py) See also infer-analyze(1) and infer-run(1).
--report-previous path
--report-previous path
Report of the base revision to use for comparison See also infer-reportdiff(1).
Report of the base revision to use for comparison See also infer-reportdiff(1).
@ -975,8 +962,8 @@ OPTIONS
do not report a type of errors See also infer-report(1) and infer-run(1).
do not report a type of errors See also infer-report(1) and infer-run(1).
--results-dir,-o dir
--results-dir,-o dir
Write results and internal files in the specified directory
Write results and internal files in the specified directory
(default: ./infer-out) See also infer-analyze(1), infer-capture(1), infer-explore(1),
See also infer-analyze(1), infer-capture(1), infer-explore(1),
infer-report(1), and infer-run(1).
infer-report(1), and infer-run(1).
--select N
--select N
@ -1057,8 +1044,8 @@ OPTIONS
(Conversely: --source-preview) See also infer-explore(1).
(Conversely: --source-preview) See also infer-explore(1).
--sqlite-lock-timeout int
--sqlite-lock-timeout int
Timeout for SQLite results database operations, in milliseconds.
Timeout for SQLite results database operations, in milliseconds.
(default: five seconds times number of cores) See also infer-analyze(1), infer-capture(1), and infer-run(1).
See also infer-analyze(1), infer-capture(1), and infer-run(1).
--no-starvation
--no-starvation
Deactivates: starvation analysis (Conversely: --starvation)
Deactivates: starvation analysis (Conversely: --starvation)
@ -1070,7 +1057,7 @@ OPTIONS
--threadsafe-aliases json
--threadsafe-aliases json
Specify custom annotations that should be considered aliases of
Specify custom annotations that should be considered aliases of
@ThreadSafe (default: []) See also infer-analyze(1).
@ThreadSafe See also infer-analyze(1).
--no-uninit
--no-uninit
Deactivates: checker for use of uninitialized values (Conversely:
Deactivates: checker for use of uninitialized values (Conversely:
@ -1121,13 +1108,13 @@ INTERNAL OPTIONS
Specify abstraction level for fields of structs: - 0 = no
Specify abstraction level for fields of structs: - 0 = no
- 1 = forget some fields during matching (and so lseg
- 1 = forget some fields during matching (and so lseg
abstraction)
abstraction)
(default: 1)
--abs-val int
--abs-val int
Specify abstraction level for expressions: - 0 = no abstraction
Specify abstraction level for expressions: - 0 = no abstraction
- 1 = evaluate all expressions abstractly
- 1 = evaluate all expressions abstractly
- 2 = 1 + abstract constant integer values during join
- 2 = 1 + abstract constant integer values during join
(default: 2)
--allow-leak
--allow-leak
Activates: Forget leaked memory during abstraction (Conversely:
Activates: Forget leaked memory during abstraction (Conversely:
@ -1146,14 +1133,14 @@ INTERNAL OPTIONS
- 1 = assumes that the size of every array is infinite
- 1 = assumes that the size of every array is infinite
- 2 = assumes that all heap dereferences via array indexing and
- 2 = assumes that all heap dereferences via array indexing and
pointer arithmetic are correct
pointer arithmetic are correct
(default: 0)
--backtrack-level int
--backtrack-level int
Maximum level of backtracking to convert an absolute path to path
Maximum level of backtracking to convert an absolute path to path
relative to the common prefix between the project root and the
relative to the common prefix between the project root and the
path. For instance, with bactraking level 1, it will convert
path. For instance, with bactraking level 1, it will convert
/my/source/File.java with project root /my/root into
/my/source/File.java with project root /my/root into
../source/File.java (default: 0)
../source/File.java
--bo-relational-domain-reset
--bo-relational-domain-reset
Cancel the effect of --bo-relational-domain.
Cancel the effect of --bo-relational-domain.
@ -1279,7 +1266,7 @@ INTERNAL OPTIONS
--debug-level-test-determinator int
--debug-level-test-determinator int
Debug level for the test determinator. See --debug-level for
Debug level for the test determinator. See --debug-level for
accepted values. (default: 0)
accepted values.
--developer-mode
--developer-mode
Activates: Show internal exceptions (Conversely:
Activates: Show internal exceptions (Conversely:
@ -1293,7 +1280,7 @@ INTERNAL OPTIONS
Specify which set of the differential results is filtered with the
Specify which set of the differential results is filtered with the
modified files provided through the --differential-modified-files
modified files provided through the --differential-modified-files
argument. By default it is applied to all sets (introduced, fixed,
argument. By default it is applied to all sets (introduced, fixed,
and preexisting) (default: introduced fixed preexisting)
and preexisting)
--disable-issue-type-reset
--disable-issue-type-reset
Set --disable-issue-type to the empty list.
Set --disable-issue-type to the empty list.
@ -1338,8 +1325,7 @@ INTERNAL OPTIONS
(Conversely: --no-export-changed-functions)
(Conversely: --no-export-changed-functions)
--export-changed-functions-output path
--export-changed-functions-output path
Name of file for export-changed-functions results (default:
Name of file for export-changed-functions results
changed_functions.json)
--external-java-packages-reset
--external-java-packages-reset
Set --external-java-packages to the empty list.
Set --external-java-packages to the empty list.
@ -1390,6 +1376,13 @@ INTERNAL OPTIONS
Activates: Enable the genrule compatibility mode used for the Buck
Activates: Enable the genrule compatibility mode used for the Buck
integration (Conversely: --no-genrule-mode)
integration (Conversely: --no-genrule-mode)
--help-scrubbed
Show this manual without specifying default values induced by the
current build configuration
--help-scrubbed-full
Show the scrubbed manual with all internal options
--icfg-dotty-outfile path
--icfg-dotty-outfile path
If set, specifies path where .dot file should be written, it
If set, specifies path where .dot file should be written, it
overrides the path for all other options that would generate icfg
overrides the path for all other options that would generate icfg
@ -1418,7 +1411,7 @@ INTERNAL OPTIONS
--iterations int
--iterations int
Specify the maximum number of operations for each function,
Specify the maximum number of operations for each function,
expressed as a multiple of symbolic operations and a multiple of
expressed as a multiple of symbolic operations and a multiple of
seconds of elapsed time (default: 1)
seconds of elapsed time
--java-jar-compiler-reset
--java-jar-compiler-reset
Cancel the effect of --java-jar-compiler.
Cancel the effect of --java-jar-compiler.
@ -1433,7 +1426,7 @@ INTERNAL OPTIONS
Set the strength of the final information-loss check used by the
Set the strength of the final information-loss check used by the
join: - 0 = use the most aggressive join for preconditions
join: - 0 = use the most aggressive join for preconditions
- 1 = use the least aggressive join for preconditions
- 1 = use the least aggressive join for preconditions
(default: 1)
--linter-reset
--linter-reset
Cancel the effect of --linter.
Cancel the effect of --linter.
@ -1451,10 +1444,10 @@ INTERNAL OPTIONS
Cancel the effect of --load-average.
Cancel the effect of --load-average.
--log-file file
--log-file file
Specify the file to use for logging (default: logs)
Specify the file to use for logging
--margin int
--margin int
Set right margin for the pretty printing functions (default: 100)
Set right margin for the pretty printing functions
--max-nesting-reset
--max-nesting-reset
Cancel the effect of --max-nesting.
Cancel the effect of --max-nesting.
@ -1464,7 +1457,7 @@ INTERNAL OPTIONS
analysis. (Conversely: --no-memcached)
analysis. (Conversely: --no-memcached)
--memcached-size-mb int
--memcached-size-mb int
EXPERIMENTAL: Default memcached size in megabytes. (default: 2048)
EXPERIMENTAL: Default memcached size in megabytes.
--method-decls-info method_decls_info.json
--method-decls-info method_decls_info.json
Specifies the file containing the method declarations info (eg.
Specifies the file containing the method declarations info (eg.
@ -1476,7 +1469,7 @@ INTERNAL OPTIONS
--modeled-expensive json
--modeled-expensive json
Matcher or list of matchers for methods that should be considered
Matcher or list of matchers for methods that should be considered
expensive by the performance critical checker. (default: [])
expensive by the performance critical checker.
--models-mode
--models-mode
Activates: Mode for analyzing the models (Conversely:
Activates: Mode for analyzing the models (Conversely:
@ -1498,7 +1491,6 @@ INTERNAL OPTIONS
--never-returning-null json
--never-returning-null json
Matcher or list of matchers for functions that never return null.
Matcher or list of matchers for functions that never return null.
(default: [])
--nullable-annotation-name string
--nullable-annotation-name string
Specify custom nullable annotation name
Specify custom nullable annotation name
@ -1563,7 +1555,7 @@ INTERNAL OPTIONS
--procedures-per-process int
--procedures-per-process int
Specify the number of procedures to analyze per process when using
Specify the number of procedures to analyze per process when using
--per-procedure-parallelism. If 0 is specified, each file is
--per-procedure-parallelism. If 0 is specified, each file is
divided into --jobs groups of procedures. (default: 1000)
divided into --jobs groups of procedures.
--procs-csv file
--procs-csv file
Write statistics for each procedure in CSV format to a file
Write statistics for each procedure in CSV format to a file
@ -1579,11 +1571,10 @@ INTERNAL OPTIONS
Cancel the effect of --profiler-samples.
Cancel the effect of --profiler-samples.
--pulse-max-disjuncts int
--pulse-max-disjuncts int
Under-approximate after int disjunctions in the domain (default:
Under-approximate after int disjunctions in the domain
20)
--pulse-widen-threshold int
--pulse-widen-threshold int
Under-approximate after int loop iterations (default: 3)
Under-approximate after int loop iterations
--pure-by-default
--pure-by-default
Activates: [Purity]Consider unknown functions to be pure by
Activates: [Purity]Consider unknown functions to be pure by
@ -1653,11 +1644,11 @@ INTERNAL OPTIONS
--skip-implementation json
--skip-implementation json
Matcher or list of matchers for names of files where we only want
Matcher or list of matchers for names of files where we only want
to translate the method declaration, skipping the body of the
to translate the method declaration, skipping the body of the
methods (Java only). (default: [])
methods (Java only).
--skip-translation json
--skip-translation json
Matcher or list of matchers for names of files that should not be
Matcher or list of matchers for names of files that should not be
analyzed at all. (default: [])
analyzed at all.
--skip-translation-headers-reset
--skip-translation-headers-reset
Set --skip-translation-headers to the empty list.
Set --skip-translation-headers to the empty list.
@ -1681,7 +1672,7 @@ INTERNAL OPTIONS
Set the level of abstracting the postconditions of discovered
Set the level of abstracting the postconditions of discovered
specs: - 0 = nothing special
specs: - 0 = nothing special
- 1 = filter out redundant posts implied by other posts
- 1 = filter out redundant posts implied by other posts
(default: 1)
--specs-library,-L +dir|jar
--specs-library,-L +dir|jar
Search for .spec files in given directory or jar file
Search for .spec files in given directory or jar file
@ -1697,7 +1688,7 @@ INTERNAL OPTIONS
--starvation-skip-analysis json
--starvation-skip-analysis json
Specify combinations of class/method list that should be skipped
Specify combinations of class/method list that should be skipped
during starvation analysis (default: [])
during starvation analysis
--no-starvation-strict-mode
--no-starvation-strict-mode
Deactivates: During starvation analysis, report strict mode
Deactivates: During starvation analysis, report strict mode
@ -1731,8 +1722,7 @@ INTERNAL OPTIONS
--no-test-determinator)
--no-test-determinator)
--test-determinator-output path
--test-determinator-output path
Name of file for test-determinator results (default:
Name of file for test-determinator results
test_determinator.json)
--test-filtering
--test-filtering
Activates: List all the files Infer can report on (should be
Activates: List all the files Infer can report on (should be
@ -1783,11 +1773,11 @@ INTERNAL OPTIONS
Cancel the effect of --tv-commit.
Cancel the effect of --tv-commit.
--tv-limit int
--tv-limit int
The maximum number of traces to submit to Traceview (default: 100)
The maximum number of traces to submit to Traceview
--tv-limit-filtered int
--tv-limit-filtered int
The maximum number of traces for issues filtered out by
The maximum number of traces for issues filtered out by
--report-filter to submit to Traceview (default: 100)
--report-filter to submit to Traceview
--type-size
--type-size
Activates: Consider the size of types during analysis, e.g. cannot
Activates: Consider the size of types during analysis, e.g. cannot