A model checker for Rust programs.
This report summarizes scanner evidence for model-checking/kani, a Rust project with 3,533 GitHub stars. SynthScan examined 170,916 lines of code across 2569 source files, recording 912 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 6.7 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 890 finding(s).
Are imports declared and package/API names verified? 13 finding(s).
Are wrappers, guards, and repeated structures necessary? 36 finding(s).
Which changes need focused human review? 912 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 912 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 | tools/build-kani/src/main.rs | 121 | /// Copy CBMC files into `dir` | COMMENT |
| LOW | tools/build-kani/src/sysroot.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | tools/build-kani/src/parser.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | tools/benchcomp/benchcomp/entry/__init__.py | 1 | # Copyright Kani Contributors | COMMENT |
| LOW | tools/benchcomp/test/unit/__init__.py | 1 | # Copyright Kani Contributors | COMMENT |
| LOW | tools/benchcomp/configs/perf-regression.yaml | 101 | variant_pairs: [[kani_old, kani_new]] | COMMENT |
| LOW | tools/benchcomp/configs/perf-regression.yaml | 121 | # applies. Both compare the *total* solver time, so a change that adds solver calls is | COMMENT |
| LOW | tools/compiletest/src/raise_fd_limit.rs | 1 | // SPDX-License-Identifier: Apache-2.0 OR MIT | COMMENT |
| LOW | tools/compiletest/src/runtest.rs | 281 | } | COMMENT |
| LOW | tools/compiletest/src/runtest.rs | 341 | let proc_res = self.compose_and_run(cargo); | COMMENT |
| LOW | tools/compiletest/src/main.rs | 381 | relative_dir_path: &Path, | COMMENT |
| LOW | tools/kani-cov/src/report.rs | 81 | COMMENT | |
| LOW | tools/kani-cov/src/report.rs | 101 | /// ``` println!("Hello, world!");''' | COMMENT |
| LOW | tools/kani-cov/src/args.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | tools/kani-cov/src/args.rs | 21 | /// As an example, let's assume we execute Kani with coverage enabled | COMMENT |
| LOW | tools/kani-cov/src/args.rs | 41 | /// | COMMENT |
| LOW | tools/kani-cov/src/args.rs | 81 | #[derive(Debug, clap::Args)] | COMMENT |
| LOW | tools/kani-cov/src/args.rs | 101 | // Csv, | COMMENT |
| LOW | tools/kani-cov/src/summary.rs | 101 | total_regions: usize, | COMMENT |
| LOW | tools/scanner/src/analysis.rs | 661 | struct Recursion { | COMMENT |
| LOW | tools/scanner/src/bin/scan.rs | 1 | // SPDX-License-Identifier: Apache-2.0 OR MIT | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 41 | /// rustc flags kani-compiler requires for correct verification semantics, set | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 61 | /// change this list, not just kani-driver — compare `--prove-safety-only`, | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 81 | /// are parsed and applied in this exact form. | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 201 | COMMENT | |
| LOW | kani-compiler/src/kani_compiler.rs | 221 | /// Instead we bring the overrides into scope crate-wide by injecting a | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 241 | // Only inject when an external `std` is available to import. The | COMMENT |
| LOW | kani-compiler/src/kani_compiler.rs | 281 | /// Inject `#[macro_use] extern crate std as _kani_std_macros;` at the crate root so | COMMENT |
| LOW | kani-compiler/src/main.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/main.rs | 81 | /// Return whether we should run our flavour of the compiler, and which arguments to pass to rustc. | COMMENT |
| LOW | kani-compiler/src/args.rs | 21 | #[derive(Debug, Default, Clone, Copy, AsRefStr, EnumString, VariantNames, PartialEq, Eq)] | COMMENT |
| LOW | kani-compiler/src/args.rs | 41 | #[clap(long)] | COMMENT |
| LOW | kani-compiler/src/args.rs | 61 | /// If used with --exact, the harness filter will only match the exact fully qualified name of a harness. | COMMENT |
| LOW | kani-compiler/src/args.rs | 81 | #[clap(long = "enable-stubbing")] | COMMENT |
| LOW | kani-compiler/src/args.rs | 101 | #[clap(long)] | COMMENT |
| LOW | kani-compiler/src/args.rs | 121 | /// functions whose arguments require bounded nondeterministic values (e.g. slice | COMMENT |
| LOW | kani-compiler/src/intrinsics.rs | 181 | /// The operand that must be a SIMD vector for this intrinsic to have a meaning, given the | COMMENT |
| LOW | kani-compiler/src/kani_middle/kani_functions.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/kani_middle/kani_functions.rs | 61 | /// Kani models are Rust functions that model some runtime behavior used by Kani instrumentation. | COMMENT |
| LOW | kani-compiler/src/kani_middle/kani_functions.rs | 181 | SizeOfSliceObject, | COMMENT |
| LOW | kani-compiler/src/kani_middle/codegen_order.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/kani_middle/mined_invariants.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/kani_middle/analysis.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/kani_middle/resolve.rs | 1181 | // parens can only fail to match, never match the wrong candidate. | COMMENT |
| LOW | kani-compiler/src/kani_middle/metadata.rs | 101 | // FIXME: This is a bit hacky. We can't resolve the target_fn to a DefId because we need somewhere to start | COMMENT |
| LOW | kani-compiler/src/kani_middle/codegen_units.rs | 481 | COMMENT | |
| LOW | kani-compiler/src/kani_middle/codegen_units.rs | 621 | /// | COMMENT |
| LOW | kani-compiler/src/kani_middle/codegen_units.rs | 721 | COMMENT | |
| LOW | kani-compiler/src/kani_middle/codegen_units.rs | 901 | COMMENT | |
| LOW | kani-compiler/src/kani_middle/codegen_units.rs | 1261 | // Each argument of `instance` must be supported by automatic harness generation, i.e., | COMMENT |
| LOW | kani-compiler/src/kani_middle/attributes.rs | 41 | Stub, | COMMENT |
| LOW | kani-compiler/src/kani_middle/attributes.rs | 61 | CheckedWith, | COMMENT |
| LOW | kani-compiler/src/kani_middle/attributes.rs | 141 | /// Bundles together common data used when evaluating the attributes of a given | COMMENT |
| LOW | kani-compiler/src/kani_middle/attributes.rs | 441 | /// | COMMENT |
| LOW | kani-compiler/src/kani_middle/mod.rs | 781 | /// complete model of the element's values *without any validity assumption*, i.e. every bit | COMMENT |
| LOW | kani-compiler/src/kani_middle/mod.rs | 861 | } | COMMENT |
| LOW | kani-compiler/src/kani_middle/mod.rs | 1321 | /// The type is not supported. | COMMENT |
| LOW | kani-compiler/src/kani_middle/coercion.rs | 1 | // Copyright Kani Contributors | COMMENT |
| LOW | kani-compiler/src/kani_middle/coercion.rs | 21 | use rustc_public::CrateDefType; | COMMENT |
| 709 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/build-kani/src/main.rs | 5 | //! We use Rust here just to aid in making the "script" more robust. | COMMENT |
| MEDIUM | tools/benchcomp/benchcomp/parsers/kani_perf.py | 33 | # CBMC solves a harness in several calls, and the number of calls is not stable across | STRING |
| MEDIUM | tools/benchcomp/benchcomp/parsers/kani_perf.py | 42 | # harness solve that instance incrementally, one clause and variable at a time, so only | STRING |
| MEDIUM | tools/benchcomp/configs/perf-regression.yaml | 124 | # harness that newly needs 10s or more of solver time also counts. | COMMENT |
| MEDIUM | tools/benchcomp/configs/perf-regression.yaml | 130 | # tripped harness on both sides (https://github.com/model-checking/kani/issues/4918), | COMMENT |
| MEDIUM | tools/compiletest/src/runtest.rs | 569 | // output. This is a temporary mechanism until we have more robust | COMMENT |
| MEDIUM | kani-compiler/src/args.rs | 63 | #[arg(long = "harness", num_args(1), value_name = "HARNESS_FILTER")] | COMMENT |
| MEDIUM | kani-compiler/src/kani_middle/attributes.rs | 1116 | format!("only one '#[kani::{}]' attribute is allowed per harness", kind.as_ref()), | CODE |
| MEDIUM | kani-compiler/src/kani_middle/mod.rs | 120 | "stub verified target `{}` does not have a corresponding `#[proof_for_contract]` harness", | CODE |
| MEDIUM | …mpiler/src/kani_middle/points_to/points_to_analysis.rs | 7 | //! The analysis uses Rust's dataflow framework by implementing appropriate traits to leverage the | COMMENT |
| MEDIUM | …mpiler/src/kani_middle/points_to/points_to_analysis.rs | 192 | // if a function pointer call is used), but we could leverage the call graph to resolve | COMMENT |
| MEDIUM | …compiler/src/kani_middle/transform/rustc_intrinsics.rs | 168 | /// Our models are usually augmented by some trait bounds, or they leverage Kani intrinsics to | COMMENT |
| MEDIUM | tests/ui/arbitrary-ptr-doc/doc_examples.rs | 8 | //! We may be able to leverage `--runtool` from rustdoc once its stabilized. See | COMMENT |
| MEDIUM | …-verified-without-contract/stub_verified_no_harness.rs | 18 | // This should fail because target_function has no `#[proof_for_contract]` harness | COMMENT |
| MEDIUM⚡ | tests/cargo-ui/ws-integ-tests/Cargo.toml | 5 | # The `in_src_harness` has a proof harness co-located with the code. | COMMENT |
| MEDIUM⚡ | tests/cargo-ui/ws-integ-tests/Cargo.toml | 6 | # The `integ_harness` has a proof harness co-located with an integration test. | COMMENT |
| MEDIUM | tests/expected/loop-contract/function_call_with_loop.rs | 6 | //! Calling a function that contains loops and test that using a #[kani::proof] harness fails because the function's pre | COMMENT |
| MEDIUM | tests/json-handler/fail-fast/test.sh | 5 | # Test JSON export under --fail-fast: a harness that completed before the abort must | COMMENT |
| MEDIUM | tests/json-handler/fail-fast/test.sh | 26 | # design (a harness fails), so only this invocation is exempted from `set -e`. | COMMENT |
| MEDIUM | tests/json-handler/multiple-harnesses/test.sh | 35 | # lists them, but that the summary counters, the per-harness results, and the | COMMENT |
| MEDIUM | tests/json-handler/multiple-harnesses/test.sh | 36 | # per-harness detail arrays all agree with each other and with the harnesses that ran. | COMMENT |
| MEDIUM | tests/json-handler/multiple-harnesses/test.sh | 76 | # Each per-harness array must cover every harness exactly once. These arrays are built | COMMENT |
| MEDIUM | tests/json-handler/failed-verification/test.sh | 79 | # error_details is an array with one entry per harness, each identified by harness_id | COMMENT |
| MEDIUM | tests/script-based-pre/verify_std_cmd/verify_std.sh | 23 | # Insert a small harness in one of the standard library modules. | COMMENT |
| MEDIUM | …ts/script-based-pre/cargo_autoharness_bounds/bounds.sh | 16 | # on slower CI runners it exceeds the autoharness default 60s harness timeout, so raise it here. | COMMENT |
| MEDIUM | …ts/script-based-pre/cargo_autoharness_slices/slices.sh | 15 | # reason about; on slower CI runners it can exceed the autoharness default 60s harness timeout, | COMMENT |
| MEDIUM | …ts/script-based-pre/cargo_autoharness_slices/slices.sh | 16 | # so raise it here to keep this (genuinely passing) harness from spuriously timing out. | COMMENT |
| MEDIUM | …/script-based-pre/cargo_autoharness_bounded/bounded.sh | 16 | # 60s harness timeout, so raise it here to keep these harnesses from spuriously timing out. | COMMENT |
| MEDIUM | tests/script-based-pre/log_file/log_file.sh | 18 | # The per-harness detail belongs in the file, not on the terminal. `kani` above | COMMENT |
| MEDIUM | tests/script-based-pre/log_file/log_file.sh | 19 | # is unredirected so the harness output would show up in `.expected` if it | COMMENT |
| MEDIUM | …based-pre/fail_fast_keeps_completed/keeps_completed.sh | 6 | # under `--fail-fast`, a harness that already completed must not be dropped from | COMMENT |
| MEDIUM | …based-pre/fail_fast_keeps_completed/keeps_completed.sh | 7 | # the final summary when a later harness fails and aborts the run. | COMMENT |
| MEDIUM | …based-pre/fail_fast_keeps_completed/keeps_completed.sh | 22 | # The run must still fail overall (a harness failed). | COMMENT |
| MEDIUM | …based-pre/fail_fast_keeps_completed/keeps_completed.sh | 29 | # The already-completed passing harness must be retained in the summary. | COMMENT |
| MEDIUM | …s/script-based-pre/harness_filter_no_match/no_match.sh | 6 | # a `--harness` filter that matches no harness must fail (non-zero exit + an | COMMENT |
| MEDIUM | …ipt-based-pre/cargo_autoharness_fmt_impls/fmt-impls.sh | 5 | # Raise the harness timeout above autoharness's 60s default, like the other autoharness tests: on | COMMENT |
| MEDIUM | …d-pre/cargo_no_assert_overrides/no-assert-overrides.sh | 30 | # intentionally failing harness still fails verification, producing the | COMMENT |
| MEDIUM | …cript-based-pre/compiler_defaults/compiler_defaults.sh | 9 | # the defaults, --cfg=kani would be unset, the harness module would be | COMMENT |
| MEDIUM | …cript-based-pre/compiler_defaults/compiler_defaults.sh | 142 | # the required values resolved. The #[cfg(panic = "abort")]-gated harness | COMMENT |
| MEDIUM⚡ | …sts/script-based-pre/fail_fast_parallel/early_abort.sh | 36 | # Every harness fails, so every counted harness must be a failure. | COMMENT |
| MEDIUM⚡ | …sts/script-based-pre/fail_fast_parallel/early_abort.sh | 42 | # At least the failing harness itself is counted. | COMMENT |
| MEDIUM⚡ | …sts/script-based-pre/fail_fast_parallel/early_abort.sh | 48 | # Smoke check, not the regression assertion: some harness was skipped, so the | COMMENT |
| MEDIUM | library/kani_core/src/arbitrary/pointer.rs | 38 | /// # fn harness() { | COMMENT |
| MEDIUM | library/kani_core/src/arbitrary/pointer.rs | 55 | /// # fn harness() { | COMMENT |
| MEDIUM | library/kani_core/src/arbitrary/pointer.rs | 81 | /// # fn harness() { | COMMENT |
| MEDIUM | library/kani_core/src/arbitrary/pointer.rs | 133 | /// # fn harness() { | COMMENT |
| MEDIUM | library/kani_core/src/arbitrary/pointer.rs | 151 | /// # fn harness() { | COMMENT |
| MEDIUM | library/kani_core/src/arbitrary/pointer.rs | 177 | /// # fn harness() { | COMMENT |
| MEDIUM | library/kani/src/contracts.rs | 178 | //! Contract are used both to verify function behavior and to leverage the | COMMENT |
| MEDIUM | library/kani_macros/src/lib.rs | 673 | /// Add #[allow(dead_code)] to a proof harness to avoid dead code warnings. | COMMENT |
| MEDIUM | kani_metadata/src/harness.rs | 37 | /// The `#[kani::<>]` attributes added to a harness. | COMMENT |
| MEDIUM | kani_metadata/src/harness.rs | 129 | /// but this function is written to be robust against that changing in the future. | COMMENT |
| MEDIUM | scripts/kani-slow-tests.sh | 18 | # TODO: We should add a more robust mechanism to detect python unexpected behavior. | COMMENT |
| MEDIUM | scripts/validate_json_export.py | 101 | # element let malformed data in every later harness pass validation, which | COMMENT |
| MEDIUM | scripts/validate_json_export.py | 102 | # defeats the purpose on exactly the multi-harness runs this validates. | COMMENT |
| MEDIUM | scripts/kani-perf.sh | 29 | # Bound each test's wall time so a runaway case (e.g. an OOM-prone harness) | COMMENT |
| MEDIUM | scripts/kani-regression.sh | 18 | # TODO: We should add a more robust mechanism to detect python unexpected behavior. | COMMENT |
| MEDIUM | scripts/kani-regression.sh | 112 | # It should just successfully find the project and specified proof harness. (Then clean up.) | COMMENT |
| MEDIUM | kani-driver/src/args/mod.rs | 287 | #[arg(long = "harness", num_args(1), value_name = "HARNESS_FILTER")] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 302 | "command_line": "mkdir bench_1 && echo true > bench_1/success" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 308 | "command_line": "mkdir bench_1 && echo false > bench_1/success" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 344 | "command_line": "mkdir bench_1 && echo true > bench_1/success" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 350 | "command_line": "mkdir bench_1 && echo true > bench_1/success" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 386 | "command_line": "mkdir bench_1 && echo 10 > bench_1/n_bugs" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 392 | "command_line": "mkdir bench_1 && echo 5 > bench_1/n_bugs" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 427 | "command_line": "mkdir bench_1 && echo 10 > bench_1/n_bugs" | CODE |
| HIGH⚡ | tools/benchcomp/test/test_regression.py | 433 | "command_line": "mkdir bench_1 && echo 5 > bench_1/n_bugs" | CODE |
| HIGH | tools/benchcomp/test/test_regression.py | 850 | grep bin out && grep '^foo:' out && echo '{ | CODE |
| HIGH | scripts/validate_json_export.py | 45 | nullable: Whether the parent declared this value may be null, via its | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/benchcomp/benchcomp/visualizers/__init__.py | 246 | def _parse_scatterplot_config(scatterplot_config_string): | CODE |
| LOW | tools/benchcomp/benchcomp/visualizers/__init__.py | 357 | def _organize_results_into_metrics(results, log_scaling): | STRING |
| LOW | tools/benchcomp/test/test_unit.py | 16 | def test_environment_construction(self): | CODE |
| LOW | tools/benchcomp/test/test_unit.py | 24 | def test_placeholder_construction(self): | CODE |
| LOW | tools/benchcomp/test/test_unit.py | 50 | def test_environment_update_variable(self): | CODE |
| LOW | tools/benchcomp/test/test_regression.py | 135 | def test_error_on_regression_two_benchmarks_previously_failed(self): | CODE |
| LOW | tools/benchcomp/test/test_regression.py | 183 | def test_error_on_regression_two_benchmarks_one_failed(self): | CODE |
| LOW | tools/benchcomp/test/test_regression.py | 231 | def test_error_on_regression_all_metrics(self): | CODE |
| LOW⚡ | tools/benchcomp/test/test_regression.py | 293 | def test_error_on_regression_visualization_success_regressed(self): | CODE |
| LOW⚡ | tools/benchcomp/test/test_regression.py | 335 | def test_error_on_regression_visualization_success_no_regressed(self): | CODE |
| LOW⚡ | tools/benchcomp/test/test_regression.py | 377 | def test_error_on_regression_visualization_ratio_no_regressed(self): | CODE |
| LOW⚡ | tools/benchcomp/test/test_regression.py | 418 | def test_error_on_regression_visualization_ratio_regressed(self): | CODE |
| LOW | tools/benchcomp/test/test_regression.py | 459 | def test_markdown_results_table(self): | CODE |
| LOW | tools/benchcomp/test/test_regression.py | 961 | def test_run_command_visualization(self): | STRING |
| LOW | tools/benchcomp/test/test_regression.py | 1012 | def test_run_failing_command_visualization(self): | STRING |
| LOW | tools/benchcomp/test/test_regression.py | 1057 | def test_unknown_metric_in_benchmark(self): | STRING |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 49 | def test_same_instance_noise_is_tolerated(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 54 | def test_same_instance_large_slowdown_is_caught(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 59 | def test_more_calls_at_the_same_per_call_time_is_caught(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 65 | def test_changed_instance_uses_the_strict_threshold(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 74 | def test_short_runs_are_ignored(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 78 | def test_harness_without_solver_output(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 86 | def test_newly_needing_the_solver_is_caught(self): | CODE |
| LOW⚡ | …ols/benchcomp/test/unit/test_perf_regression_config.py | 96 | def test_missing_label_metric_is_not_a_key_error(self): | CODE |
| LOW | tools/benchcomp/test/unit/test_kani_perf_parser.py | 23 | def test_solver_calls_are_counted(self): | CODE |
| LOW | tools/benchcomp/test/unit/test_kani_perf_parser.py | 61 | def test_harness_without_solver_output(self): | STRING |
| LOW | scripts/validate_json_export.py | 37 | def validate_structure_recursive(data, schema, path="", nullable=False): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/benchcomp/benchcomp/cmd_args.py | 252 | # Set entrypoint to benchcomp.entry.visualize.main() | COMMENT |
| LOW | …d-pre/playback_with_cfg_kani/playback_with_cfg_kani.sh | 14 | # Check if cargo is installed | COMMENT |
| LOW⚡ | …d-pre/individual_file_output/individual_file_output.sh | 21 | # Check if the output directory exists | COMMENT |
| LOW⚡ | …d-pre/individual_file_output/individual_file_output.sh | 27 | # Check if there are any files in the output directory | COMMENT |
| LOW⚡ | …d-pre/individual_file_output/individual_file_output.sh | 35 | # Check if each file contains text | COMMENT |
| LOW | …-pre/kani_autoharness_exclude_precedence/precedence.sh | 21 | # Check if a function appears in the "Selected Function" table | COMMENT |
| LOW | …-pre/kani_autoharness_exclude_precedence/precedence.sh | 32 | # Check if a function appears in the "Skipped Function" table | COMMENT |
| LOW | scripts/check_kissat_version.sh | 5 | # Check if kissat has the minimum required version specified in the | COMMENT |
| LOW | scripts/validate_json_export.py | 80 | # Check if field exists in data | COMMENT |
| LOW | scripts/validate_json_export.py | 221 | # Check if specific field validation requested | COMMENT |
| LOW | scripts/kani-regression.sh | 26 | # Check if installed versions are correct. | COMMENT |
| LOW | scripts/setup/install_kissat.sh | 15 | # Check if the correct Kissat version is already installed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/benchcomp/benchcomp/__init__.py | 106 | except ImportError: | CODE |
| HIGH | tools/benchcomp/benchcomp/parsers/kani_perf.py | 138 | except KeyError: | CODE |
| HIGH | tools/benchcomp/benchcomp/parsers/kani_perf.py | 145 | except (KeyError, ZeroDivisionError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/kani/Static/anon_static.rs | 11 | // ╾───────alloc2────────╼ │ ╾──────╼ | COMMENT |
| MEDIUM | tests/kani/Static/anon_static.rs | 31 | // ╾───────alloc2────────╼ │ ╾──────╼ | COMMENT |
| MEDIUM | tests/kani/Static/anon_static.rs | 39 | // ╾───────alloc2────────╼ │ ╾──────╼ | COMMENT |
| MEDIUM | tests/kani/Static/pointer_to_const_alloc.rs | 9 | // ╾─────alloc3<imm>─────╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........ | COMMENT |
| MEDIUM | tests/kani/Static/pointer_to_const_alloc.rs | 17 | // ╾─────alloc3<imm>─────╼ 01 00 00 00 00 00 00 00 │ ╾──────╼........ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …orm/check_uninit/delayed_ub/instrumentation_visitor.rs | 137 | // Here is a simple example: | COMMENT |
| MEDIUM | …compiler/src/codegen_cprover_gotoc/codegen/function.rs | 210 | // As discussed above, fields are named like `0: t1`. | COMMENT |
| LOW | tests/firecracker/virtio-balloon-compact/ignore-main.rs | 42 | // Don't forget to push the last range to the result. | COMMENT |
| MEDIUM | library/kani_macros/src/lib.rs | 180 | /// As mentioned earlier, the `#[safety_constraint(...)]` attribute can be added | COMMENT |
| MEDIUM | library/kani_macros/src/lib.rs | 307 | /// As mentioned earlier, the `#[safety_constraint(...)]` attribute can be added | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/cargo-ui/ws-integ-tests/Cargo.toml | 4 | # Create a workspace with three independent libraries that have integration tests. | COMMENT |
| MEDIUM | tests/cargo-kani/stubbing-ws-packages/Cargo.toml | 4 | # Create a workspace with multiple packages with stubs | COMMENT |
| MEDIUM | tests/script-based-pre/verify_std_cmd/verify_std.sh | 17 | # Create a custom standard library. | COMMENT |
| MEDIUM | tests/script-based-pre/std_codegen/codegen_std.sh | 21 | # Create a custom standard library. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …i-compiler/src/codegen_aeneas_llbc/mir_to_ullbc/mod.rs | 1288 | trait_refs: trait_ref.trait_decl_ref.skip_binder.generics.trait_refs.clone(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/benchcomp/benchcomp/__init__.py | 78 | CODE | |
| LOW | tools/benchcomp/benchcomp/parsers/kani_perf.py | 96 | CODE | |
| LOW | tools/benchcomp/benchcomp/visualizers/__init__.py | 316 | CODE | |
| LOW | tools/benchcomp/benchcomp/visualizers/__init__.py | 357 | CODE | |
| LOW | tools/benchcomp/benchcomp/visualizers/__init__.py | 384 | CODE | |
| LOW | tools/benchcomp/benchcomp/visualizers/utils.py | 71 | CODE | |
| LOW | tools/benchcomp/benchcomp/visualizers/utils.py | 117 | CODE | |
| LOW | scripts/validate_json_export.py | 37 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ni-compiler/src/codegen_cprover_gotoc/codegen/place.rs | 368 | /// For example, the auto-generated code for Fn::call_once uses a local FnDef to call the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …kani/FunctionContracts/stub_verified_safe_arbitrary.rs | 33 | // Step 1: Verify the contract | COMMENT |
| LOW⚡ | …kani/FunctionContracts/stub_verified_safe_arbitrary.rs | 39 | // Step 2: Use stub_verified in a caller — works because | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …kani/FunctionContracts/stub_verified_safe_arbitrary.rs | 33 | // Step 1: Verify the contract | COMMENT |
| LOW⚡ | …kani/FunctionContracts/stub_verified_safe_arbitrary.rs | 39 | // Step 2: Use stub_verified in a caller — works because | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/validate_json_export.py | 13 | CODE | |
| LOW | scripts/gen_benchcomp_schemas.py | 12 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/run-autopep8.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/validate_json_export.py | 161 | except Exception as e: | CODE |