A static analyzer for Java, C, C++, and Objective-C
This report summarizes scanner evidence for facebook/infer, a OCaml project with 15,738 GitHub stars. SynthScan examined 350,145 lines of code across 12094 source files, recording 559 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 2.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 512 finding(s).
Are imports declared and package/API names verified? 46 finding(s).
Are wrappers, guards, and repeated structures necessary? 89 finding(s).
Which changes need focused human review? 559 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 559 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build-infer.sh | 241 | # Sadly, for some reason we sometimes encounter jar files with a required version of 788. | COMMENT |
| LOW | autogen.sh | 1 | #!/bin/bash | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/id_table.rs | 1 | /// This module provides a notion of table, identifiers and nodes. A | COMMENT |
| LOW | …ndencies/charon/charon/hax-frontend/src/rustc_utils.rs | 141 | /// lifetime-generic function pointers anyway so this is unlikely to cause problems. | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/traits.rs | 81 | path: Vec<ImplExprPathChunk>, | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/traits.rs | 101 | trait_data: BuiltinTraitData, | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/traits.rs | 121 | Destruct(DestructData), | COMMENT |
| LOW | …ncies/charon/charon/hax-frontend/src/constant_utils.rs | 41 | }, | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/types/ty.rs | 181 | pub enum UserType { | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/types/ty.rs | 1141 | } | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/types/ty.rs | 1201 | /// Expresses a constraints over an associated type. | COMMENT |
| LOW | dependencies/charon/charon/hax-frontend/src/types/ty.rs | 1341 | } | COMMENT |
| LOW | …s/charon/charon/hax-frontend/src/types/new/item_ref.rs | 1 | use crate::prelude::*; | COMMENT |
| LOW | …s/charon/charon/hax-frontend/src/types/new/item_ref.rs | 21 | /// def_id = MyTrait::meth, | COMMENT |
| LOW | …s/charon/charon/hax-frontend/src/types/new/item_ref.rs | 141 | // ``` | COMMENT |
| LOW | …s/charon/charon/hax-frontend/src/types/new/full_def.rs | 1001 | pub decl_def_id: DefId, | COMMENT |
| LOW | …s/charon/charon/hax-frontend/src/types/new/full_def.rs | 1021 | /// The definition of the item in the trait impl. This is an `AssocTy`, `AssocFn` or | COMMENT |
| LOW | …es/charon/charon/hax-frontend/src/traits/resolution.rs | 61 | /// `dyn Trait` is a wrapped value with a virtual table for trait | COMMENT |
| LOW | …dencies/charon/charon/hax-frontend/src/traits/utils.rs | 1 | //! Each item can involve three kinds of predicates: | COMMENT |
| LOW | …dencies/charon/charon/hax-frontend/src/traits/utils.rs | 21 | //! | COMMENT |
| LOW | …dencies/charon/charon/hax-frontend/src/traits/utils.rs | 181 | .map(|ty| Binder::dummy(TraitRef::new(tcx, destruct_trait, [ty]))) | COMMENT |
| LOW | …s/charon/charon/tests/ui/ml-mono-name-matcher-tests.rs | 1 | //@ no-default-options | COMMENT |
| LOW | …s/charon/charon/tests/ui/ml-mono-name-matcher-tests.rs | 41 | COMMENT | |
| LOW | …s/charon/charon/tests/ui/ml-mono-name-matcher-tests.rs | 61 | #[pattern::pass(call[2], "core::ops::index::Index<[bool], core::ops::range::RangeFrom<usize>>::index")] | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/matches.rs | 1 | //! This module tests the translation of matches. | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/matches.rs | 21 | /// bb1: { | COMMENT |
| LOW | …cies/charon/charon/tests/ui/rust-name-matcher-tests.rs | 1 | //@ no-default-options | COMMENT |
| LOW | …cies/charon/charon/tests/ui/rust-name-matcher-tests.rs | 21 | } | COMMENT |
| LOW | …cies/charon/charon/tests/ui/rust-name-matcher-tests.rs | 41 | )] | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/monomorphize-mut.rs | 61 | fn use_iter_wrapper<'a, 'b, T>(_: Option<IterWrapper<'a, bool>>) {} | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/opaque-trait.rs | 1 | //! Tests that we correctly translate opaque traits. | COMMENT |
| LOW | …encies/charon/charon/tests/ui/ml-name-matcher-tests.rs | 1 | //@ no-default-options | COMMENT |
| LOW | …encies/charon/charon/tests/ui/ml-name-matcher-tests.rs | 21 | fn method<U>(); | COMMENT |
| LOW | …encies/charon/charon/tests/ui/ml-name-matcher-tests.rs | 61 | // This is a trait instance call. | COMMENT |
| LOW | …endencies/charon/charon/tests/ui/foreign-type-alias.rs | 1 | //@ aux-crate=type_alias.rs | COMMENT |
| LOW | …pendencies/charon/charon/tests/ui/start_from_errors.rs | 1 | //@ known-failure | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/opacity.rs | 1 | //@ charon-args=--include core::option | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/traits_special.rs | 1 | // The example below (in particular the impl block) is peculiar with regards | COMMENT |
| LOW | …ncies/charon/charon/tests/ui/filtering/opaque-trait.rs | 1 | //! Tests that we correctly translate opaque traits. | COMMENT |
| LOW | …/charon/charon/tests/ui/filtering/start_from_errors.rs | 1 | //@ known-failure | COMMENT |
| LOW | …pendencies/charon/charon/tests/ui/filtering/opacity.rs | 1 | //@ charon-args=--include core::option | COMMENT |
| LOW | dependencies/charon/charon/tests/ui/simple/additions.rs | 1 | //@ charon-args=--extract-opaque-bodies | COMMENT |
| LOW | …haron/tests/ui/regressions/issue-1075-primty-def-id.rs | 1 | //@ no-check-output | COMMENT |
| LOW | dependencies/charon/charon/macros/src/lib.rs | 21 | /// the pair (variant index, variant arity). | COMMENT |
| LOW | dependencies/charon/charon/macros/src/lib.rs | 61 | } | COMMENT |
| LOW | dependencies/charon/charon/src/lib.rs | 1 | //! This library contains utilities to extract the MIR from a Rust project, | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 21 | // This structure is used to store the command-line instructions. | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 41 | /// This option is known to cause panics inside rustc, because their drop handling is not | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 81 | COMMENT | |
| LOW | dependencies/charon/charon/src/options.rs | 141 | #[clap(long)] | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 161 | /// anywhere they show up. This can considerably speed up translation. | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 181 | pub remove_unused_self_clauses: bool, | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 201 | pub treat_box_as_builtin: bool, | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 221 | /// `DeBruijnVar::Bound` everywhere. This simplifies the management of generics for projects | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 241 | #[serde(default)] | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 261 | pub no_serialize: bool, | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 281 | /// The MIR just after MIR lowering. | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 461 | /// anywhere they show up. | COMMENT |
| LOW | dependencies/charon/charon/src/options.rs | 481 | pub raw_consts: bool, | COMMENT |
| LOW | dependencies/charon/charon/src/bin/charon/main.rs | 1 | //! Charon is a tool which compiles Rust projects (by querying their MIR) to | COMMENT |
| 285 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ests/codetoanalyze/python/pulse/async_import_simple.py | 52 | async def asyncio_gather_unknown_list_ok(l): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 10 | async def await_condition_typing_int_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 18 | async def await_condition_typing_int_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 25 | async def await_condition_typing_str_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 33 | async def await_condition_typing_with_arg_bad(x): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 45 | async def fp_await_condition_typing_user_defined_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 53 | async def fp_await_condition_typing_fun_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 63 | async def await_condition_is_none_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 71 | async def await_condition_is_none_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 79 | async def await_condition_bool_none_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 87 | async def await_condition_bool_none_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 95 | async def fp_await_condition_val_equal_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/async_typing.py | 104 | async def await_condition_phys_equal_bad(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 18 | def set_attribute_with_init_bad(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 24 | def set_attribute_with_init_ok(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 30 | def set_attribute_with_init_read_with_getter_bad(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 36 | def set_attribute_with_init_read_with_getter_ok(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 42 | def set_attribute_with_setter_read_with_getter_bad(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 49 | def set_attribute_with_setter_read_with_getter_ok(): | CODE |
| LOW | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 61 | def set_attribute_with_init_read_with_return_get_key_bad(): | CODE |
| LOW | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 67 | def set_attribute_with_init_read_with_return_get_key_ok(): | CODE |
| LOW | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 79 | def fn_set_attribute_with_init_read_with_external_call_bad(): | CODE |
| LOW | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 85 | def set_attribute_with_init_read_with_external_call_ok(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 98 | def read_class_companion_property_bad(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 103 | def read_class_companion_property_ok(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 108 | def instance_attribute_from_class_companion_bad(): | CODE |
| LOW⚡ | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 114 | def instance_attribute_from_class_companion_ok(): | CODE |
| LOW | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 135 | def fn_neither_instance_nor_class_attribute_bad(): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 95 | def use_pulse_model_release_option_ok(): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 99 | def use_pulse_model_release_option_not_captured_ok(): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 103 | def use_pulse_model_deep_release_option_args_ok(l): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 113 | def use_pulse_model_deep_release_option_not_captured_args_ok(): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 123 | def use_pulse_model_deep_release_option_ok(l): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 131 | def use_pulse_model_deep_release_option_not_captured_ok(): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 139 | def use_pulse_model_deep_release_option_generator_ok(l): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 148 | def use_pulse_model_deep_release_option_dict_ok(l): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 152 | def use_pulse_model_deep_release_option_set_ok(l): | CODE |
| LOW⚡ | …odetoanalyze/python/pulse/async_import_with_package.py | 156 | def use_pulse_model_deep_release_option_constant_dict_ok(key1, key2, key3, key4): | CODE |
| LOW | …odetoanalyze/python/pulse/async_import_with_package.py | 167 | def use_pulse_model_deep_release_option_constant_set_ok(): | CODE |
| LOW | …odetoanalyze/python/pulse/async_import_with_package.py | 178 | def use_pulse_model_deep_release_option_constant_list_ok(key1, key2): | CODE |
| LOW⚡ | …fer/tests/codetoanalyze/python/pulse/assert_capture.py | 16 | def assert_false_with_id_not_captured_bad(): | CODE |
| LOW⚡ | …fer/tests/codetoanalyze/python/pulse/assert_capture.py | 20 | def assert_true_with_id_captured_ok(): | CODE |
| LOW⚡ | …fer/tests/codetoanalyze/python/pulse/assert_capture.py | 24 | def assert_false_with_id_captured_bad(): | CODE |
| LOW⚡ | …fer/tests/codetoanalyze/python/pulse/assert_capture.py | 33 | def assert_false_with_id_skipped_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 7 | def dict_missing_key_const_str_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 12 | def dict_missing_key_const_str_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 22 | def dict_missing_key_const_str_with_int_key_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 27 | def dict_missing_key_const_str_store_int_key_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 33 | def dict_missing_key_const_str_store_str_key_ok(s): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 40 | def dict_set_key_after_init_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 70 | def dict_missing_key_dict_builtin_const_map_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 75 | def dict_missing_key_builtin_empty_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 80 | def fn_dict_missing_key_builtin_empty_list_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 85 | def fn_dict_missing_key_builtin_list_comp_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 90 | def fn_dict_missing_key_named_arguments_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 95 | def dict_missing_str_key_in_op_ok(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 103 | def dict_missing_str_key_in_op_bad(): | CODE |
| LOW⚡ | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 111 | def dict_missing_str_key_not_const_in_op_ok(x): | CODE |
| LOW | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 130 | def dict_missing_int_key_in_op_ok(): | CODE |
| LOW | infer/tests/codetoanalyze/python/pulse/dict_level0.py | 138 | def fp_dict_missing_int_key_in_op_ok(): | CODE |
| 26 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …codetoanalyze/python/semdiff-benchs/config_12-31-25.py | 22 | from infer_semdiff import accept, ignore, null, rewrite, var | CODE |
| HIGH | …codetoanalyze/python/semdiff-benchs/config_12-31-25.py | 39 | lhs=Assign(targets=[N], type_comment=null, value=V), | CODE |
| HIGH | …codetoanalyze/python/semdiff-benchs/config_12-31-25.py | 40 | rhs=AnnAssign(annotation=null, simple=1, target=N, value=V), | CODE |
| HIGH | …codetoanalyze/python/semdiff-benchs/config_12-31-25.py | 64 | accept(lhs=null, rhs=X) | CODE |
| HIGH | …codetoanalyze/python/semdiff-benchs/config_12-31-25.py | 87 | rhs=BinOp(left=T, op=BitOr(), right=Constant(kind=null, value=null)), | CODE |
| HIGH | …s/codetoanalyze/python/semdiff-demo/configs/05_full.py | 25 | lhs=Assign(targets=[N], type_comment=null, value=V), | CODE |
| HIGH | …s/codetoanalyze/python/semdiff-demo/configs/05_full.py | 26 | rhs=AnnAssign(annotation=null, simple=1, target=N, value=V), | CODE |
| HIGH | …s/codetoanalyze/python/semdiff-demo/configs/05_full.py | 37 | lhs=null, | CODE |
| HIGH | …s/codetoanalyze/python/semdiff-demo/configs/05_full.py | 47 | condition=(not (equals(null, T1))) and (not (contains(Name(ctx=Load(), id="Any"), T2))), | CODE |
| HIGH⚡ | …ython/semdiff-demo/configs/04_accept_with_condition.py | 16 | lhs=null, | CODE |
| HIGH⚡ | …ython/semdiff-demo/configs/04_accept_with_condition.py | 22 | # When an annotation already existed (T1 is not null), accept the new | COMMENT |
| HIGH⚡ | …ython/semdiff-demo/configs/04_accept_with_condition.py | 28 | condition=(not (equals(null, T1))) and (not (contains(Name(ctx=Load(), id="Any"), T2))), | CODE |
| HIGH | …alyze/python/semdiff-demo/configs/02_rewrite_assign.py | 17 | lhs=Assign(targets=[N], type_comment=null, value=V), | CODE |
| HIGH | …alyze/python/semdiff-demo/configs/02_rewrite_assign.py | 18 | rhs=AnnAssign(annotation=null, simple=1, target=N, value=V), | CODE |
| HIGH | …alyze/python/semdiff-demo/configs/02_rewrite_assign.py | 30 | accept(lhs=null, rhs=X, key=["annotation"]) | CODE |
| HIGH | …e/python/semdiff-demo/configs/03_accept_annotations.py | 21 | accept(lhs=null, rhs=X, key=["returns", "annotation"]) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/odoc/next/infer/Checkers/LineageShape/Cell/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cell (infer.Checkers.LineageShape.Cell)</title><meta charset="ut | CODE |
| LOW | …c/next/infer/Absint/InterproceduralAnalysis/index.html | 4 | <span><span class="type-var">'payload</span> <a href="../AnalysisResult/index.html#type-t">AnalysisResult.t</a></span> | CODE |
| LOW | …xt/infer/Absint/ExplicitTrace/MakeTraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElem (infer.Absint.ExplicitTrace.MakeTraceElem)</title> | CODE |
| LOW | …t/ExplicitTrace/MakeTraceElemModuloLocation/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElemModuloLocation (infer.Absint.ExplicitTrace.MakeTrac | CODE |
| LOW | …/Absint/ExplicitTrace/module-type-TraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>TraceElem (infer.Absint.ExplicitTrace.TraceElem)</title><meta ch | CODE |
| LOW | …fer/Concurrency/RacerDDomain/AccessSnapshot/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>AccessSnapshot (infer.Concurrency.RacerDDomain.AccessSnapshot)</ | CODE |
| MEDIUM | website/static/odoc/next/infer/Llair/Exp/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Exp (infer.Llair.Exp)</title><meta charset="utf-8"/><link rel="s | CODE |
| MEDIUM | …odoc/1.3.0/infer/Checkers/LineageShape/Cell/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cell (infer.Checkers.LineageShape.Cell)</title><meta charset="ut | CODE |
| LOW | …/1.3.0/infer/Absint/InterproceduralAnalysis/index.html | 4 | <span><span class="type-var">'payload</span> <a href="../AnalysisResult/index.html#type-t">AnalysisResult.t</a></span> | CODE |
| LOW | ….0/infer/Absint/ExplicitTrace/MakeTraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElem (infer.Absint.ExplicitTrace.MakeTraceElem)</title> | CODE |
| LOW | …t/ExplicitTrace/MakeTraceElemModuloLocation/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElemModuloLocation (infer.Absint.ExplicitTrace.MakeTrac | CODE |
| LOW | …/Absint/ExplicitTrace/module-type-TraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>TraceElem (infer.Absint.ExplicitTrace.TraceElem)</title><meta ch | CODE |
| LOW | …fer/Concurrency/RacerDDomain/AccessSnapshot/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>AccessSnapshot (infer.Concurrency.RacerDDomain.AccessSnapshot)</ | CODE |
| MEDIUM | website/static/odoc/1.3.0/infer/Llair/Exp/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Exp (infer.Llair.Exp)</title><meta charset="utf-8"/><link rel="s | CODE |
| MEDIUM | …te/static/odoc/1.1.0/infer/Absint__DataFlow/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Absint__DataFlow (infer.Absint__DataFlow)</title><link rel="styl | CODE |
| MEDIUM | …te/static/odoc/1.1.0/infer/Absint__DataFlow/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Absint__DataFlow (infer.Absint__DataFlow)</title><link rel="styl | CODE |
| MEDIUM | …ite/static/odoc/1.1.0/infer/Absint/DataFlow/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>DataFlow (infer.Absint.DataFlow)</title><link rel="stylesheet" h | CODE |
| MEDIUM | …ite/static/odoc/1.1.0/infer/Absint/DataFlow/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>DataFlow (infer.Absint.DataFlow)</title><link rel="stylesheet" h | CODE |
| LOW | ….0/infer/Absint/ExplicitTrace/MakeTraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElem (infer.Absint.ExplicitTrace.MakeTraceElem)</title> | CODE |
| LOW | …t/ExplicitTrace/MakeTraceElemModuloLocation/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElemModuloLocation (infer.Absint.ExplicitTrace.MakeTrac | CODE |
| LOW | …/Absint/ExplicitTrace/module-type-TraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>TraceElem (infer.Absint.ExplicitTrace.TraceElem)</title><link re | CODE |
| LOW | …fer/Concurrency/RacerDDomain/AccessSnapshot/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>AccessSnapshot (infer.Concurrency.RacerDDomain.AccessSnapshot)</ | CODE |
| LOW | …er/Concurrency__RacerDDomain/AccessSnapshot/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>AccessSnapshot (infer.Concurrency__RacerDDomain.AccessSnapshot)< | CODE |
| LOW | …0/infer/Absint__ExplicitTrace/MakeTraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElem (infer.Absint__ExplicitTrace.MakeTraceElem)</title | CODE |
| LOW | …__ExplicitTrace/MakeTraceElemModuloLocation/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElemModuloLocation (infer.Absint__ExplicitTrace.MakeTra | CODE |
| LOW | …Absint__ExplicitTrace/module-type-TraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>TraceElem (infer.Absint__ExplicitTrace.TraceElem)</title><link r | CODE |
| MEDIUM | …odoc/1.2.0/infer/Checkers/LineageShape/Cell/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Cell (infer.Checkers.LineageShape.Cell)</title><meta charset="ut | CODE |
| LOW | …/1.2.0/infer/Absint/InterproceduralAnalysis/index.html | 4 | <span><span class="type-var">'payload</span> <a href="../AnalysisResult/index.html#type-t">AnalysisResult.t</a></span> | CODE |
| LOW | ….0/infer/Absint/ExplicitTrace/MakeTraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElem (infer.Absint.ExplicitTrace.MakeTraceElem)</title> | CODE |
| LOW | …t/ExplicitTrace/MakeTraceElemModuloLocation/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MakeTraceElemModuloLocation (infer.Absint.ExplicitTrace.MakeTrac | CODE |
| LOW | …/Absint/ExplicitTrace/module-type-TraceElem/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>TraceElem (infer.Absint.ExplicitTrace.TraceElem)</title><meta ch | CODE |
| LOW | …fer/Concurrency/RacerDDomain/AccessSnapshot/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>AccessSnapshot (infer.Concurrency.RacerDDomain.AccessSnapshot)</ | CODE |
| MEDIUM | dependencies/charon/charon/src/ids/index_map.rs | 5 | //! leverage the type checker to prevent us from mixing them. | COMMENT |
| MEDIUM | dependencies/charon/charon/src/ids/vector.rs | 5 | //! leverage the type checker to prevent us from mixing them. | COMMENT |
| MEDIUM | dependencies/charon/charon/src/ids/index_vec.rs | 5 | //! leverage the type checker to prevent us from mixing them. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …nalyze/python/semdiff-benchs/strip_type_annotations.py | 24 | CODE | |
| LOW | …alyze/python/semdiff-demo/examples/01_imports/after.py | 5 | CODE | |
| LOW | …/python/semdiff-demo/examples/06_real_change/before.py | 5 | CODE | |
| LOW | …e/python/semdiff-demo/examples/06_real_change/after.py | 5 | CODE | |
| LOW | …semdiff-demo/examples/04_annotation_with_any/before.py | 5 | CODE | |
| LOW | …yze/python/semdiff-demo/examples/05_combined/before.py | 5 | CODE | |
| LOW | …lyze/python/semdiff-demo/examples/05_combined/after.py | 5 | CODE | |
| LOW | …python/semdiff-demo/examples/07_multi_config/before.py | 5 | CODE | |
| LOW | …/python/semdiff-demo/examples/07_multi_config/after.py | 5 | CODE | |
| LOW | …s/codetoanalyze/python/semdiff-demo/configs/05_full.py | 5 | CODE | |
| LOW | …ython/semdiff-demo/configs/04_accept_with_condition.py | 5 | CODE | |
| LOW | …ython/semdiff-demo/configs/04_accept_with_condition.py | 6 | CODE | |
| LOW | …ython/semdiff-demo/configs/04_accept_with_condition.py | 6 | CODE | |
| LOW | …alyze/python/semdiff-demo/configs/01_ignore_imports.py | 5 | CODE | |
| LOW | …alyze/python/semdiff-demo/configs/01_ignore_imports.py | 6 | CODE | |
| LOW | …alyze/python/semdiff-demo/configs/01_ignore_imports.py | 6 | CODE | |
| LOW | …alyze/python/semdiff-demo/configs/01_ignore_imports.py | 6 | CODE | |
| LOW | …sts/codetoanalyze/python/semdiff-demo/configs/empty.py | 8 | CODE | |
| LOW | …sts/codetoanalyze/python/semdiff-demo/configs/empty.py | 9 | CODE | |
| LOW | …sts/codetoanalyze/python/semdiff-demo/configs/empty.py | 9 | CODE | |
| LOW | …sts/codetoanalyze/python/semdiff-demo/configs/empty.py | 9 | CODE | |
| LOW | …sts/codetoanalyze/python/semdiff-demo/configs/empty.py | 9 | CODE | |
| LOW | …sts/codetoanalyze/python/semdiff-demo/configs/empty.py | 9 | CODE | |
| LOW | …alyze/python/semdiff-demo/configs/02_rewrite_assign.py | 5 | CODE | |
| LOW | …alyze/python/semdiff-demo/configs/02_rewrite_assign.py | 6 | CODE | |
| LOW | …e/python/semdiff-demo/configs/03_accept_annotations.py | 5 | CODE | |
| LOW | …e/python/semdiff-demo/configs/03_accept_annotations.py | 6 | CODE | |
| LOW | …e/python/semdiff-demo/configs/03_accept_annotations.py | 6 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | website/static/odoc/next/infer/Backend.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backend (infer.Backend)</title><meta charset="utf-8"/><link rel= | CODE |
| MEDIUM | website/static/odoc/next/infer/infer.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>infer (infer.infer)</title><meta charset="utf-8"/><link rel="sty | CODE |
| MEDIUM | …c/odoc/next/infer/ATDGenerated/InferCommand/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferCommand (infer.ATDGenerated.InferCommand)</title><meta char | CODE |
| MEDIUM | website/static/odoc/1.3.0/infer/Backend.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backend (infer.Backend)</title><meta charset="utf-8"/><link rel= | CODE |
| MEDIUM | website/static/odoc/1.3.0/infer/infer.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>infer (infer.infer)</title><meta charset="utf-8"/><link rel="sty | CODE |
| MEDIUM | …/odoc/1.3.0/infer/ATDGenerated/InferCommand/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferCommand (infer.ATDGenerated.InferCommand)</title><meta char | CODE |
| MEDIUM | website/static/odoc/1.1.0/infer/Backend.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backend (infer.Backend)</title><link rel="stylesheet" href="../o | CODE |
| MEDIUM | website/static/odoc/1.1.0/infer/infer.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>infer (infer.infer)</title><link rel="stylesheet" href="../odoc. | CODE |
| MEDIUM | …/odoc/1.1.0/infer/ATDGenerated/InferCommand/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferCommand (infer.ATDGenerated.InferCommand)</title><link rel= | CODE |
| MEDIUM | …odoc/1.1.0/infer/ATDGenerated__InferCommand/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>ATDGenerated__InferCommand (infer.ATDGenerated__InferCommand)</t | CODE |
| MEDIUM | website/static/odoc/1.2.0/infer/Backend.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Backend (infer.Backend)</title><meta charset="utf-8"/><link rel= | CODE |
| MEDIUM | website/static/odoc/1.2.0/infer/infer.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>infer (infer.infer)</title><meta charset="utf-8"/><link rel="sty | CODE |
| MEDIUM | …/odoc/1.2.0/infer/ATDGenerated/InferCommand/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferCommand (infer.ATDGenerated.InferCommand)</title><meta char | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ite/static/odoc/next/infer/IR/JavaClassName/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>JavaClassName (infer.IR.JavaClassName)</title><meta charset="utf | CODE |
| HIGH | …te/static/odoc/1.3.0/infer/IR/JavaClassName/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>JavaClassName (infer.IR.JavaClassName)</title><meta charset="utf | CODE |
| HIGH | …te/static/odoc/1.1.0/infer/IR/JavaClassName/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>JavaClassName (infer.IR.JavaClassName)</title><link rel="stylesh | CODE |
| HIGH | …e/static/odoc/1.1.0/infer/IR__JavaClassName/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>IR__JavaClassName (infer.IR__JavaClassName)</title><link rel="st | CODE |
| HIGH | …te/static/odoc/1.2.0/infer/IR/JavaClassName/index.html | 2 | <html xmlns="http://www.w3.org/1999/xhtml"><head><title>JavaClassName (infer.IR.JavaClassName)</title><meta charset="utf | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ic/odoc/next/infer/Pulselib/PulseFormulaPhi/index.html | 25 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …ic/odoc/next/infer/Pulselib/PulseFormulaPhi/index.html | 25 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …/next/infer/Pulselib/PulseFormulaPhi/Unsafe/index.html | 12 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …/next/infer/Pulselib/PulseFormulaPhi/Unsafe/index.html | 12 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …c/odoc/1.3.0/infer/Pulselib/PulseFormulaPhi/index.html | 25 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …c/odoc/1.3.0/infer/Pulselib/PulseFormulaPhi/index.html | 25 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …1.3.0/infer/Pulselib/PulseFormulaPhi/Unsafe/index.html | 12 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | …1.3.0/infer/Pulselib/PulseFormulaPhi/Unsafe/index.html | 12 | <a href="#type-t">t</a> * bool</span></code></div><div class="spec-doc"><p>We're now tracking nullability more precise | CODE |
| LOW | dependencies/charon/charon/src/bin/generate-ml/main.rs | 8 | //! crate root. Don't forget to format the output code after regenerating. | COMMENT |
| LOW | dependencies/charon/charon/src/ast/gast_utils.rs | 41 | /// Warning: don't forget to `StorageLive` it before using it. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …tests/codetoanalyze/java/pulse/taint/LogInjection.java | 32 | org.apache.logging.log4j.LogManager.getLogger(LogInjection.class); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …endencies/charon/charon/src/transform/ullbc_to_llbc.rs | 157 | // We need to check if it is a backward edge before inserting it in the | COMMENT |
| LOW | …endencies/charon/charon/src/transform/ullbc_to_llbc.rs | 1655 | // If we enter a switch or a loop, we need to check if we own the exit | COMMENT |
| LOW⚡ | …endencies/charon/charon/src/transform/reorder_decls.rs | 512 | // Step 1: explore the declarations to build the graph | COMMENT |
| LOW⚡ | …endencies/charon/charon/src/transform/reorder_decls.rs | 516 | // Step 2: Apply Tarjan's SCC (Strongly Connected Components) algorithm | COMMENT |
| LOW⚡ | …endencies/charon/charon/src/transform/reorder_decls.rs | 519 | // Step 3: Reorder the declarations in an order as close as possible to the one | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | dependencies/charon/charon/src/bin/generate-ml/main.rs | 899 | /// Replace markers in `template` with auto-generated code. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …endencies/charon/charon/src/transform/reorder_decls.rs | 512 | // Step 1: explore the declarations to build the graph | COMMENT |
| LOW⚡ | …endencies/charon/charon/src/transform/reorder_decls.rs | 516 | // Step 2: Apply Tarjan's SCC (Strongly Connected Components) algorithm | COMMENT |
| LOW⚡ | …endencies/charon/charon/src/transform/reorder_decls.rs | 519 | // Step 3: Reorder the declarations in an order as close as possible to the one | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/codetoanalyze/python/semdiff-benchs/gen_batch_json.py | 30 | CODE | |
| LOW | …/codetoanalyze/python/semdiff-benchs/gen_batch_json.py | 79 | CODE | |
| LOW | …ests/codetoanalyze/python/semdiff-benchs/run_benchs.py | 95 | CODE | |
| LOW | …ests/codetoanalyze/python/semdiff-benchs/run_benchs.py | 172 | CODE | |
| LOW | …ests/codetoanalyze/python/semdiff-benchs/run_benchs.py | 261 | CODE | |
| LOW | …/codetoanalyze/python/exec/script_show_print_output.py | 26 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …semdiff-demo/examples/02_assign_to_annassign/before.py | 7 | CODE | |
| LOW | …yze/python/semdiff-demo/examples/05_combined/before.py | 9 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ests/codetoanalyze/c/callgraph/parse_json_callgraph.py | 87 | print(f"Error: malformed call graph in {path}: {e}", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sts/codetoanalyze/python/pulse/dict_object_oriented.py | 132 | # TODO: implement missing-attribute logic | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ests/codetoanalyze/cpp/bufferoverrun/simple_vector.cpp | 20 | int dummy_value = dummy_array[i]; | CODE |