From 077e80868e7cf344d707b90d1642ab807b5744d9 Mon Sep 17 00:00:00 2001
From: Sungkeun Cho
Date: Fri, 21 Jun 2024 23:46:46 -0700
Subject: [PATCH] [website] Fix wrong links
Summary: ^^
Reviewed By: thizanne
Differential Revision:
D58882818
Privacy Context Container: L1208441
fbshipit-source-id: 680af757810f5f769694785745001c1a91150d9a
---
.../issues/EXECUTION_TIME_COMPLEXITY_INCREASE.md | 2 +-
infer/documentation/issues/PULSE_DICT_MISSING_KEY.md | 2 +-
.../documentation/issues/PULSE_UNINITIALIZED_CONST.md | 2 +-
infer/documentation/issues/TOPL_ERROR.md | 2 +-
infer/src/base/IssueType.ml | 2 +-
website/blog/2016-06-23-first-opensourceversary.md | 2 +-
website/docs/01-infer-workflow.md | 2 +-
website/docs/04-absint-framework.md | 2 +-
website/docs/all-issue-types.md | 10 +++++-----
website/docs/support.md | 2 +-
website/src/pages/index.js | 2 +-
website/static/man/next/infer-capture.1.html | 8 ++++++++
website/static/man/next/infer.1.html | 9 +++++++++
website/static/odoc/next/infer/IBase/Config/index.html | 2 +-
.../versioned_docs/version-1.1.0/01-infer-workflow.md | 2 +-
.../version-1.1.0/04-absint-framework.md | 2 +-
website/versioned_docs/version-1.1.0/support.md | 2 +-
.../versioned_docs/version-1.2.0/01-infer-workflow.md | 2 +-
.../version-1.2.0/04-absint-framework.md | 2 +-
.../versioned_docs/version-1.2.0/all-issue-types.md | 10 +++++-----
website/versioned_docs/version-1.2.0/support.md | 2 +-
21 files changed, 44 insertions(+), 27 deletions(-)
diff --git a/infer/documentation/issues/EXECUTION_TIME_COMPLEXITY_INCREASE.md b/infer/documentation/issues/EXECUTION_TIME_COMPLEXITY_INCREASE.md
index 25e243f358d..61867b7d985 100644
--- a/infer/documentation/issues/EXECUTION_TIME_COMPLEXITY_INCREASE.md
+++ b/infer/documentation/issues/EXECUTION_TIME_COMPLEXITY_INCREASE.md
@@ -2,6 +2,6 @@ Infer reports this issue when the execution time complexity of a
program increases in degree: e.g. from constant to linear or from
logarithmic to quadratic. This issue type is only reported in
differential mode: i.e when we are comparing the cost analysis results of
-two runs of infer on a file. Check out examples in [here](/docs/next/checker-cost#examples).
+two runs of infer on a file. Check out examples in [here](/docs/next/checker-cost#examples-execution-cost).
diff --git a/infer/documentation/issues/PULSE_DICT_MISSING_KEY.md b/infer/documentation/issues/PULSE_DICT_MISSING_KEY.md
index ab6cdfd6d0f..c095c6996b8 100644
--- a/infer/documentation/issues/PULSE_DICT_MISSING_KEY.md
+++ b/infer/documentation/issues/PULSE_DICT_MISSING_KEY.md
@@ -1,4 +1,4 @@
-This issue is similar to [`UNINITIALIZED_VALUE` issue](#uninitialized_value), but it is to warn
+This issue is similar to [`PULSE_UNINITIALIZED_VALUE`](#pulse_uninitialized_value), but it is to warn
reading a missing key of dictionary in Hack.
For example, in the following code, the dictionary `$d` has no entry for `bye`, so reading
diff --git a/infer/documentation/issues/PULSE_UNINITIALIZED_CONST.md b/infer/documentation/issues/PULSE_UNINITIALIZED_CONST.md
index 44788670e2a..d542975cca7 100644
--- a/infer/documentation/issues/PULSE_UNINITIALIZED_CONST.md
+++ b/infer/documentation/issues/PULSE_UNINITIALIZED_CONST.md
@@ -1,4 +1,4 @@
-This issue is similar to [`UNINITIALIZED_VALUE` issue](#uninitialized_value), but it is to detect the uninitialized abstract const value in Hack.
+This issue is similar to [`PULSE_UNINITIALIZED_VALUE`](#pulse_uninitialized_value), but it is to detect the uninitialized abstract const value in Hack.
For example, in the following code, the `FIELD` can be read by the static method `get_field`.
diff --git a/infer/documentation/issues/TOPL_ERROR.md b/infer/documentation/issues/TOPL_ERROR.md
index 4d08c4d0fea..ecabca2d7f2 100644
--- a/infer/documentation/issues/TOPL_ERROR.md
+++ b/infer/documentation/issues/TOPL_ERROR.md
@@ -3,4 +3,4 @@ There is an execution path in the code that drives a Topl property from a start
This indicates that the code has a user-defined undesired behavior.
-See [Topl](/docs/next/checker-topl##what-is-it) for an example
+See [Topl](/docs/next/checker-topl#what-is-it) for an example
diff --git a/infer/src/base/IssueType.ml b/infer/src/base/IssueType.ml
index 1f541ecb5d9..b6bad2d72ce 100644
--- a/infer/src/base/IssueType.ml
+++ b/infer/src/base/IssueType.ml
@@ -736,7 +736,7 @@ let expensive_loop_invariant_call =
let memory_leak =
register ~enabled:false ~category:ResourceLeak ~id:"BIABDUCTION_MEMORY_LEAK" ~hum:"Memory Leak"
- Error Biabduction ~user_documentation:"See [MEMORY_LEAK](#memory_leak)."
+ Error Biabduction ~user_documentation:"See [MEMORY_LEAK_C](#memory_leak_c)."
let missing_fld = register_hidden ~id:"Missing_fld" ~hum:"Missing Field" Error Biabduction
diff --git a/website/blog/2016-06-23-first-opensourceversary.md b/website/blog/2016-06-23-first-opensourceversary.md
index 2dfe3ae3ad0..d0bde51f012 100644
--- a/website/blog/2016-06-23-first-opensourceversary.md
+++ b/website/blog/2016-06-23-first-opensourceversary.md
@@ -13,7 +13,7 @@ The Infer GitHub repo has seen a lot of activity since then:
- 339 [issues](https://github.com/facebook/infer/issues) opened
- 44 [pull requests](https://github.com/facebook/infer/pulls) by 15 contributors
- 10 [releases](https://github.com/facebook/infer/releases/)
-- 5 [external companies](/#who-uses-infer) officially using Infer (add yourself
+- 5 external companies officially using Infer (add yourself
[here](https://github.com/facebook/infer/edit/main/website/src/pages/index.js))
Infer was presented at 13 academic and tech international conferences, and at 8
diff --git a/website/docs/01-infer-workflow.md b/website/docs/01-infer-workflow.md
index a33f1daa0ad..f9a698e8b35 100644
--- a/website/docs/01-infer-workflow.md
+++ b/website/docs/01-infer-workflow.md
@@ -130,7 +130,7 @@ all the compilation commands and stores the results in Infer's internal format.
Next, if you change some files in your project, for instance in response to an
Infer report, or as part of normal development, you can either clean and
-reanalyze the entire project (as in the [global workflow](#Global-workflow)
+reanalyze the entire project (as in the [global workflow](#global-workflow)
above), or else tell Infer that you are interested in the effects of the code
change. The second option can be significantly faster, as only a subset of the
project needs to be analyzed: the modified files/procedures and their
diff --git a/website/docs/04-absint-framework.md b/website/docs/04-absint-framework.md
index 406c5fab10e..70ed1df67e6 100644
--- a/website/docs/04-absint-framework.md
+++ b/website/docs/04-absint-framework.md
@@ -34,7 +34,7 @@ don't, but are feeling bold).
Take a look at
[liveness.ml](https://github.com/facebook/infer/blob/main/infer/src/checkers/liveness.ml).
This code is performing a compilers-101 style liveness analysis over
-[SIL](#ir-basics-sil-cfgs-tenvs-procdescs-and-procnames), Infer's intermediate
+SIL, Infer's intermediate
language. Since this code is fairly small and you should already understand what
it's trying to do, it's a fairly good place to look in order to understand both
how to use the abstract interpretation framework and what SIL is.
diff --git a/website/docs/all-issue-types.md b/website/docs/all-issue-types.md
index c32496e7878..b7df698bc6c 100644
--- a/website/docs/all-issue-types.md
+++ b/website/docs/all-issue-types.md
@@ -159,7 +159,7 @@ A latent [BAD_RETURN](#bad_return). See the [documentation on Pulse latent issue
*Category: [Resource leak](/docs/next/all-categories#resource-leak). Reported as "Memory Leak" by [biabduction](/docs/next/checker-biabduction).*
-See [MEMORY_LEAK](#memory_leak).
+See [MEMORY_LEAK_C](#memory_leak_c).
## BIABDUCTION_RETAIN_CYCLE
*Category: [Resource leak](/docs/next/all-categories#resource-leak). Reported as "Retain Cycle" by [biabduction](/docs/next/checker-biabduction).*
@@ -686,7 +686,7 @@ Infer reports this issue when the execution time complexity of a
program increases in degree: e.g. from constant to linear or from
logarithmic to quadratic. This issue type is only reported in
differential mode: i.e when we are comparing the cost analysis results of
-two runs of infer on a file. Check out examples in [here](/docs/next/checker-cost#examples).
+two runs of infer on a file. Check out examples in [here](/docs/next/checker-cost#examples-execution-cost).
@@ -1894,7 +1894,7 @@ void const_refable(std::vector vec) {
*Category: [Runtime exception](/docs/next/all-categories#runtime-exception). Reported as "Dict Missing Key" by [pulse](/docs/next/checker-pulse).*
-This issue is similar to [`UNINITIALIZED_VALUE` issue](#uninitialized_value), but it is to warn
+This issue is similar to [`PULSE_UNINITIALIZED_VALUE`](#pulse_uninitialized_value), but it is to warn
reading a missing key of dictionary in Hack.
For example, in the following code, the dictionary `$d` has no entry for `bye`, so reading
@@ -2027,7 +2027,7 @@ Failure to `await` an `Awaitable` can lead to non-deterministic amount of the as
*Category: [Runtime exception](/docs/next/all-categories#runtime-exception). Reported as "Uninitialized Const" by [pulse](/docs/next/checker-pulse).*
-This issue is similar to [`UNINITIALIZED_VALUE` issue](#uninitialized_value), but it is to detect the uninitialized abstract const value in Hack.
+This issue is similar to [`PULSE_UNINITIALIZED_VALUE`](#pulse_uninitialized_value), but it is to detect the uninitialized abstract const value in Hack.
For example, in the following code, the `FIELD` can be read by the static method `get_field`.
@@ -2954,7 +2954,7 @@ There is an execution path in the code that drives a Topl property from a start
This indicates that the code has a user-defined undesired behavior.
-See [Topl](/docs/next/checker-topl##what-is-it) for an example
+See [Topl](/docs/next/checker-topl#what-is-it) for an example
## TOPL_ERROR_LATENT
diff --git a/website/docs/support.md b/website/docs/support.md
index 100c040072b..aba06df514a 100644
--- a/website/docs/support.md
+++ b/website/docs/support.md
@@ -108,7 +108,7 @@ for an up-to-date list of dependencies and how to get them.
### My problem is not listed here
-Do not hesitate to [contact us](support#need-help?).
+Do not hesitate to [contact us](#need-help).
## FAQ
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index 2465f863154..129852dfe5a 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -202,7 +202,7 @@ function Home() {
-
+
Who Uses Infer?
diff --git a/website/static/man/next/infer-capture.1.html b/website/static/man/next/infer-capture.1.html
index d9efda74ef8..dd43fea0c01 100644
--- a/website/static/man/next/infer-capture.1.html
+++ b/website/static/man/next/infer-capture.1.html
@@ -592,6 +592,14 @@
CLANG OPTIONS
header files (Conversely: --no-headers)
+
--objc-synthesize-dealloc
+
+
Activates: If enabled, the
+capture tries to synthesize code in the dealloc methods of
+Objective-C classes corresponding to what the compiler does.
+(Conversely: --no-objc-synthesize-dealloc)
+
+
--skip-non-capture-clang-commands
Activates: Skip clang commands
diff --git a/website/static/man/next/infer.1.html b/website/static/man/next/infer.1.html
index 813ad343c94..bf71872e2d8 100644
--- a/website/static/man/next/infer.1.html
+++ b/website/static/man/next/infer.1.html
@@ -1947,6 +1947,15 @@
OPTIONS
See also
infer-analyze(1), infer-capture(1), and
infer-run(1).
+--objc-synthesize-dealloc
+
+
Activates: If enabled, the
+capture tries to synthesize code in the dealloc methods of
+Objective-C classes corresponding to what the compiler does.
+(Conversely: --no-objc-synthesize-dealloc)
+
+
See also
+infer-capture(1).
--no-parameter-not-null-checked
Deactivates:
diff --git a/website/static/odoc/next/infer/IBase/Config/index.html b/website/static/odoc/next/infer/IBase/Config/index.html
index e9d20f94b75..d35abacc6b0 100644
--- a/website/static/odoc/next/infer/IBase/Config/index.html
+++ b/website/static/odoc/next/infer/IBase/Config/index.html
@@ -8,5 +8,5 @@
| `MLeak_unknown ]
list
val biabduction_models_mode : bool
val biabduction_monitor_prop_size : bool
val biabduction_nelseg : bool
val biabduction_seconds_per_iteration : float option
val biabduction_symops_per_iteration : int option
val biabduction_trace_join : bool
val biabduction_trace_rearrange : bool
val biabduction_type_size : bool
val biabduction_unsafe_malloc : bool
val biabduction_worklist_mode : int
val biabduction_write_dotty : bool
val bo_assume_void : bool
val bo_bottom_as_default : bool
val bo_context_sensitive_allocsites : bool
val bo_exit_frontend_gener_vars : bool
val bo_field_depth_limit : int option
val bo_max_cfg_size : int
val bo_sound_unknown_sets_join : bool
val bootclasspath : string option
val buck2_build_args : string list
val buck2_build_args_no_inline : string list
val buck2_bxl_capture_file_block_list : string list
val buck2_bxl_target : string option
val buck2_inferconfig_target : string option
val buck2_isolation_dir : string option
val buck2_query_deps : bool
val buck_block_list : string list
val buck_build_args : string list
val buck_build_args_no_inline : string list
val buck_cache_mode : bool
val buck_dependency_depth : int option
val buck_java_heap_size_gb : int option
val buck_java_suppress_config : bool
val buck_merge_all_deps : bool
val buck_out_gen : string
val buck_targets_block_list : string list
val capture_block_list : string * Yojson.Safe.t
val capture_textual : string list
val censor_report :
((bool * IStdlib.IStd.Str.regexp) * (bool * IStdlib.IStd.Str.regexp) * string)
- list
val cfg_json : string option
val changed_files_index : string option
val check_version : string option
val clang_ast_file : [ `Biniou of string | `Yojson of string ] option
val clang_block_listed_flags : string list
val clang_block_listed_flags_with_arg : string list
val clang_compound_literal_init_limit : int
val clang_frontend_action_string : string
val clang_idirafter_to_override_regex : IStdlib.IStd.Str.regexp option
val clang_ignore_regex : IStdlib.IStd.Str.regexp option
val clang_isystem_to_override_regex : IStdlib.IStd.Str.regexp option
val clang_libcxx_include_to_override_regex : string option
val classpath : string option
val compaction_if_heap_greater_equal_to_GB : int
val compaction_minimum_interval_s : int
val complete_capture_from : string option
val config_impact_config_field_patterns : IStdlib.IStd.Str.regexp list
val config_impact_config_function_patterns : IStdlib.IStd.Str.regexp list
val config_impact_config_param_patterns : IStdlib.IStd.Str.regexp list
val config_impact_current : string option
val config_impact_data_file : string option
val config_impact_issues_tests : string option
val config_impact_max_callees_to_print : int
val config_impact_previous : string option
val config_impact_strict_mode : bool
val config_impact_strict_mode_paths : IStdlib.IStd.Str.regexp list
val config_impact_test_paths : IStdlib.IStd.Str.regexp list
val continue_analysis : bool
val continue_capture : bool
val cost_issues_tests : string option
val cost_log_unknown_calls : bool
val cost_suppress_func_ptr : bool
val costs_current : string option
val costs_previous : string option
val cxx_scope_guards : Yojson.Safe.t
val data_flow_queries_on_topl : string list
val debug_exceptions : bool
val debug_level_analysis : int
val debug_level_capture : int
val debug_level_report : int
val debug_level_test_determinator : int
val dependency_mode : bool
val detach_analysis_dependency : bool
val developer_mode : bool
val dict_missing_key_var_block_list : IStdlib.IStd.Str.regexp option
val differential_filter_files : string option
val differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] list
val dotty_cfg_libs : bool
val dump_duplicate_symbols : bool
val dynamic_dispatch_json_file_path : string option
val erlang_ast_dir : string option
val erlang_check_return : bool
val erlang_list_unfold_depth : int
val erlang_reliability : bool
val erlang_skip_compile : bool
val erlang_with_otp_specs : bool
val export_changed_functions : bool
val fcp_apple_clang : string option
val fcp_syntax_only : bool
val file_renamings : string option
val files_to_analyze_index : string option
val force_delete_results_dir : bool
val from_json_config_impact_report : string
val from_json_costs_report : string
val from_json_report : string
val frontend_stats : bool
val frontend_tests : bool
val generated_classes : string option
val hack_builtin_models : string
val hack_models : string list
val hack_naming_table : string option
val hackc_binary : string option
val hoisting_report_only_expensive : bool
val icfg_dotty_outfile : string option
val implicit_sdk_root : string option
val impurity_report_immutable_modifications : bool
val inclusive_cost : bool
val incremental_analysis : bool
val infer_binary : string
absolute canonicalized path to the current executable
val infer_is_clang : bool
val infer_is_javac : bool
val inferconfig_file : string option
val inline_func_pointer_for_testing : string option
val invalidate_only : bool
val issues_tests : string option
val java_debug_source_file_info : string option
val java_jar_compiler : string option
val java_reflection : bool
val java_source_parser_experimental : bool
val java_version : int option
val javac_classes_out : string
val job_id : string option
val kotlin_capture : bool
val lineage_source : string option
val lineage_sink : string option
val lineage_sanitizers : string list
val lineage_limit : int option
val lineage_field_depth : int
val lineage_field_max_cfg_size : int option
val lineage_field_width : int
val lineage_include_builtins : bool
val lineage_json_report : bool
val lineage_keep_temporaries : bool
val lineage_max_cfg_size : int option
val lineage_prevent_cycles : bool
val lineage_variant_width : int
val list_categories : bool
val list_issue_types : bool
val liveness_block_list_var_regex : IStdlib.IStd.Str.regexp option
val liveness_dangerous_classes : Yojson.Safe.t
val liveness_ignored_constant : string list
val load_average : float option
val lock_model : Yojson.Safe.t
val log_pulse_disjunct_increase_after_model_call : bool
val log_pulse_coverage : bool
val log_missing_deps : bool
val mark_unchanged_procs : bool
val mask_sajwa_exceptions : bool
val max_nesting : int option
val memtrace_analysis : bool
val memtrace_sampling_rate : float
val merge_capture : string list
val merge_report : string list
val merge_summaries : string list
val method_decls_info : string option
val modeled_expensive : string * Yojson.Safe.t
val modified_lines : string option
val never_returning_null : string * Yojson.Safe.t
val no_censor_report : IStdlib.IStd.Str.regexp list
val no_translate_libs : bool
val nullable_annotation : string option
val only_cheap_debug : bool
val oom_threshold : int option
val preanalysis_html : bool
val print_active_checkers : bool
val print_builtins : bool
val print_using_diff : bool
val procedures_attributes : bool
val procedures_call_graph : bool
val procedures_callees : bool
val procedures_cfg : bool
val procedures_definedness : bool
val procedures_filter : string option
val procedures_name : bool
val procedures_source_file : bool
val procedures_summary : bool
val procedures_summary_json : bool
val procedures_summary_skip_empty : bool
val process_clang_ast : bool
val profiler_samples : string option
val progress_bar : [ `MultiLine | `Plain | `Quiet ]
val project_root : string
val pulse_cut_to_one_path_procedures_pattern : IStdlib.IStd.Str.regexp option
val pulse_force_continue : bool
val pulse_havoc_arguments : bool
val pulse_inline_global_init_func_pointer : bool
val pulse_intraprocedural_only : bool
val pulse_log_summary_count : bool
val pulse_log_unknown_calls : bool
val pulse_max_cfg_size : int
val pulse_max_disjuncts : int
val pulse_max_heap : int option
val pulse_model_abort : string list
val pulse_model_alloc_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_cheap_copy_type : IStdlib.IStd.Str.regexp option
val pulse_model_free_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_malloc_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_realloc_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_release_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_return_first_arg : IStdlib.IStd.Str.regexp option
val pulse_model_return_nonnull : IStdlib.IStd.Str.regexp option
val pulse_model_return_this : IStdlib.IStd.Str.regexp option
val pulse_model_returns_copy_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_skip_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_transfer_ownership : string list
val pulse_model_transfer_ownership_namespace : (string * string) list
val pulse_models_for_erlang : string list
val pulse_monitor_transitive_callees : bool
val pulse_monitor_transitive_missed_captures : bool
val pulse_nullsafe_report_npe : bool
val pulse_nullsafe_report_npe_as_separate_issue_type : bool
val pulse_prevent_non_disj_top : bool
val pulse_recency_limit : int
val pulse_report_flows_from_taint_source : string option
val pulse_report_flows_to_taint_sink : string option
val pulse_report_issues_for_tests : bool
val pulse_report_latent_issues : bool
val pulse_sanity_checks : bool
val pulse_skip_procedures : IStdlib.IStd.Str.regexp option
val pulse_specialization_iteration_limit : int
val pulse_specialization_limit : int
val pulse_specialization_partial : bool
val pulse_taint_check_history : bool
val pulse_taint_short_traces : bool
val pulse_taint_skip_sources : bool
val pulse_transitive_access_config : string list
val pulse_transitive_access_enabled : bool
val pulse_transitive_access_verbose : bool
val pulse_unsafe_malloc : bool
val pulse_widen_threshold : int
val pure_by_default : bool
val pyc_file : string list
val python_builtin_models : string
val qualified_cpp_name_block_list : string list
val quandary_endpoints : Yojson.Safe.t
val quandary_sanitizers : Yojson.Safe.t
val quandary_show_passthroughs : bool
val quandary_sinks : Yojson.Safe.t
val quandary_sources : Yojson.Safe.t
val racerd_always_report_java : bool
val racerd_guardedby : bool
val racerd_ignore_classes : IStdlib.IStd.String.Set.t
val reactive_capture : bool
val relative_path_backtrack : int
val replay_analysis_schedule : bool
val replay_ondemand_should_error : bool
val report_block_list_spec :
+ list
val cfg_json : string option
val changed_files_index : string option
val check_version : string option
val clang_ast_file : [ `Biniou of string | `Yojson of string ] option
val clang_block_listed_flags : string list
val clang_block_listed_flags_with_arg : string list
val clang_compound_literal_init_limit : int
val clang_frontend_action_string : string
val clang_idirafter_to_override_regex : IStdlib.IStd.Str.regexp option
val clang_ignore_regex : IStdlib.IStd.Str.regexp option
val clang_isystem_to_override_regex : IStdlib.IStd.Str.regexp option
val clang_libcxx_include_to_override_regex : string option
val classpath : string option
val compaction_if_heap_greater_equal_to_GB : int
val compaction_minimum_interval_s : int
val complete_capture_from : string option
val config_impact_config_field_patterns : IStdlib.IStd.Str.regexp list
val config_impact_config_function_patterns : IStdlib.IStd.Str.regexp list
val config_impact_config_param_patterns : IStdlib.IStd.Str.regexp list
val config_impact_current : string option
val config_impact_data_file : string option
val config_impact_issues_tests : string option
val config_impact_max_callees_to_print : int
val config_impact_previous : string option
val config_impact_strict_mode : bool
val config_impact_strict_mode_paths : IStdlib.IStd.Str.regexp list
val config_impact_test_paths : IStdlib.IStd.Str.regexp list
val continue_analysis : bool
val continue_capture : bool
val cost_issues_tests : string option
val cost_log_unknown_calls : bool
val cost_suppress_func_ptr : bool
val costs_current : string option
val costs_previous : string option
val cxx_scope_guards : Yojson.Safe.t
val data_flow_queries_on_topl : string list
val debug_exceptions : bool
val debug_level_analysis : int
val debug_level_capture : int
val debug_level_report : int
val debug_level_test_determinator : int
val dependency_mode : bool
val detach_analysis_dependency : bool
val developer_mode : bool
val dict_missing_key_var_block_list : IStdlib.IStd.Str.regexp option
val differential_filter_files : string option
val differential_filter_set : [ `Introduced | `Fixed | `Preexisting ] list
val dotty_cfg_libs : bool
val dump_duplicate_symbols : bool
val dynamic_dispatch_json_file_path : string option
val erlang_ast_dir : string option
val erlang_check_return : bool
val erlang_list_unfold_depth : int
val erlang_reliability : bool
val erlang_skip_compile : bool
val erlang_with_otp_specs : bool
val export_changed_functions : bool
val fcp_apple_clang : string option
val fcp_syntax_only : bool
val file_renamings : string option
val files_to_analyze_index : string option
val force_delete_results_dir : bool
val from_json_config_impact_report : string
val from_json_costs_report : string
val from_json_report : string
val frontend_stats : bool
val frontend_tests : bool
val generated_classes : string option
val hack_builtin_models : string
val hack_models : string list
val hack_naming_table : string option
val hackc_binary : string option
val hoisting_report_only_expensive : bool
val icfg_dotty_outfile : string option
val implicit_sdk_root : string option
val impurity_report_immutable_modifications : bool
val inclusive_cost : bool
val incremental_analysis : bool
val infer_binary : string
absolute canonicalized path to the current executable
val infer_is_clang : bool
val infer_is_javac : bool
val inferconfig_file : string option
val inline_func_pointer_for_testing : string option
val invalidate_only : bool
val issues_tests : string option
val java_debug_source_file_info : string option
val java_jar_compiler : string option
val java_reflection : bool
val java_source_parser_experimental : bool
val java_version : int option
val javac_classes_out : string
val job_id : string option
val kotlin_capture : bool
val lineage_source : string option
val lineage_sink : string option
val lineage_sanitizers : string list
val lineage_limit : int option
val lineage_field_depth : int
val lineage_field_max_cfg_size : int option
val lineage_field_width : int
val lineage_include_builtins : bool
val lineage_json_report : bool
val lineage_keep_temporaries : bool
val lineage_max_cfg_size : int option
val lineage_prevent_cycles : bool
val lineage_variant_width : int
val list_categories : bool
val list_issue_types : bool
val liveness_block_list_var_regex : IStdlib.IStd.Str.regexp option
val liveness_dangerous_classes : Yojson.Safe.t
val liveness_ignored_constant : string list
val load_average : float option
val lock_model : Yojson.Safe.t
val log_pulse_disjunct_increase_after_model_call : bool
val log_pulse_coverage : bool
val log_missing_deps : bool
val mark_unchanged_procs : bool
val mask_sajwa_exceptions : bool
val max_nesting : int option
val memtrace_analysis : bool
val memtrace_sampling_rate : float
val merge_capture : string list
val merge_report : string list
val merge_summaries : string list
val method_decls_info : string option
val modeled_expensive : string * Yojson.Safe.t
val modified_lines : string option
val never_returning_null : string * Yojson.Safe.t
val no_censor_report : IStdlib.IStd.Str.regexp list
val no_translate_libs : bool
val nullable_annotation : string option
val only_cheap_debug : bool
val oom_threshold : int option
val objc_synthesize_dealloc : bool
val preanalysis_html : bool
val print_active_checkers : bool
val print_builtins : bool
val print_using_diff : bool
val procedures_attributes : bool
val procedures_call_graph : bool
val procedures_callees : bool
val procedures_cfg : bool
val procedures_definedness : bool
val procedures_filter : string option
val procedures_name : bool
val procedures_source_file : bool
val procedures_summary : bool
val procedures_summary_json : bool
val procedures_summary_skip_empty : bool
val process_clang_ast : bool
val profiler_samples : string option
val progress_bar : [ `MultiLine | `Plain | `Quiet ]
val project_root : string
val pulse_cut_to_one_path_procedures_pattern : IStdlib.IStd.Str.regexp option
val pulse_force_continue : bool
val pulse_havoc_arguments : bool
val pulse_inline_global_init_func_pointer : bool
val pulse_intraprocedural_only : bool
val pulse_log_summary_count : bool
val pulse_log_unknown_calls : bool
val pulse_max_cfg_size : int
val pulse_max_disjuncts : int
val pulse_max_heap : int option
val pulse_model_abort : string list
val pulse_model_alloc_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_cheap_copy_type : IStdlib.IStd.Str.regexp option
val pulse_model_free_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_malloc_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_realloc_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_release_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_return_first_arg : IStdlib.IStd.Str.regexp option
val pulse_model_return_nonnull : IStdlib.IStd.Str.regexp option
val pulse_model_return_this : IStdlib.IStd.Str.regexp option
val pulse_model_returns_copy_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_skip_pattern : IStdlib.IStd.Str.regexp option
val pulse_model_transfer_ownership : string list
val pulse_model_transfer_ownership_namespace : (string * string) list
val pulse_models_for_erlang : string list
val pulse_monitor_transitive_callees : bool
val pulse_monitor_transitive_missed_captures : bool
val pulse_nullsafe_report_npe : bool
val pulse_nullsafe_report_npe_as_separate_issue_type : bool
val pulse_prevent_non_disj_top : bool
val pulse_recency_limit : int
val pulse_report_flows_from_taint_source : string option
val pulse_report_flows_to_taint_sink : string option
val pulse_report_issues_for_tests : bool
val pulse_report_latent_issues : bool
val pulse_sanity_checks : bool
val pulse_skip_procedures : IStdlib.IStd.Str.regexp option
val pulse_specialization_iteration_limit : int
val pulse_specialization_limit : int
val pulse_specialization_partial : bool
val pulse_taint_check_history : bool
val pulse_taint_short_traces : bool
val pulse_taint_skip_sources : bool
val pulse_transitive_access_config : string list
val pulse_transitive_access_enabled : bool
val pulse_transitive_access_verbose : bool
val pulse_unsafe_malloc : bool
val pulse_widen_threshold : int
val pure_by_default : bool
val pyc_file : string list
val python_builtin_models : string
val qualified_cpp_name_block_list : string list
val quandary_endpoints : Yojson.Safe.t
val quandary_sanitizers : Yojson.Safe.t
val quandary_show_passthroughs : bool
val quandary_sinks : Yojson.Safe.t
val quandary_sources : Yojson.Safe.t
val racerd_always_report_java : bool
val racerd_guardedby : bool
val racerd_ignore_classes : IStdlib.IStd.String.Set.t
val reactive_capture : bool
val relative_path_backtrack : int
val replay_analysis_schedule : bool
val replay_ondemand_should_error : bool
val report_block_list_files_containing : string list
val report_console_limit : int option
val report_current : string option
val report_custom_error : bool
val report_force_relative_path : bool
val report_path_regex_allow_list : string list
val report_path_regex_block_list : string list
val report_previous : string option
val report_suppress_errors : string list
val reports_include_ml_loc : bool
val run_as_child : int option
val scope_leakage_config : Yojson.Safe.t
val scuba_normals : string IStdlib.IStd.String.Map.t
val select : [ `All | `Select of int ] option
val shrink_analysis_db : bool
val siof_check_iostreams : bool
val siof_safe_methods : string list
val skip_analysis_in_path : IStdlib.IStd.Str.regexp option
val skip_analysis_in_path_skips_compilation : bool
val skip_duplicated_types : bool
val skip_non_capture_clang_commands : bool
val source_files_call_graph : bool
val source_files_call_graph_partition : int option
val source_files_cfg : bool
val source_files_filter : string option
val source_files_freshly_captured : bool
val source_files_procedure_names : bool
val source_files_type_environment : bool
val source_preview : bool
val sourcepath : string option
val sources : string list
val sqlite_cache_size : int
val sqlite_lock_timeout : int
val sqlite_max_blob_size : int
val sqlite_mmap_size : int
val sqlite_page_size : int
val sqlite_vfs : string option
val starvation_c_function_pointer_models : Yojson.Safe.t
val starvation_c_named_threads_annot : Yojson.Safe.t
val starvation_skip_analysis : Yojson.Safe.t
val starvation_strict_mode : bool
val starvation_whole_program : bool
val stats_dir_current : string option
val stats_dir_previous : string option
val struct_as_cpp_class : bool
val store_analysis_schedule : bool
val subtype_multirange : bool
val suffix_match_changed_files : bool
val summaries_caches_max_size : int
val suppress_lint_ignore_types : bool
val tenv_json : string option
val test_determinator : bool
val threadsafe_aliases : Yojson.Safe.t
val timeout : float option
val top_longest_proc_duration_size : int option
val topl_max_conjuncts : int
val topl_max_disjuncts : int
val topl_report_latent_issues : bool
val trace_absarray : bool
val trace_ondemand : bool
val workspace : string option
val write_html_allow_list_regex : string list
val write_website : string option
val xcode_developer_dir : string option
val xcode_isysroot_suffix : string option
Configuration values derived from command-line options
val toplevel_results_dir : string
In some integrations, eg Buck, infer subprocesses started by the build system (started by the toplevel infer process) will have their own results directory; this points to the results directory of the toplevel infer process, which can be useful for, eg, storing debug info. In other cases this is equal to results_dir
.
val java_package_is_external : string -> bool
Check if a Java package is external to the repository
val scuba_execution_id : IStdlib.IStd.Int64.t option
a random number to (hopefully) uniquely identify this run
is the current process (forked from) the root of the Infer process tree
Global variables with initial values specified by command-line options
val clang_compilation_dbs : [ `Escaped of string | `Raw of string ] list