Spike, a RISC-V ISA Simulator
This report summarizes scanner evidence for riscv-software-src/riscv-isa-sim, a C++ project with 3,268 GitHub stars. SynthScan examined 45,313 lines of code across 1730 source files, recording 356 pattern matches distributed across 3 syntactic categories. The legacy adjusted pattern signal is 6.1 (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.
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? 348 finding(s).
Are imports declared and package/API names verified? 0 finding(s).
Are wrappers, guards, and repeated structures necessary? 8 finding(s).
Which changes need focused human review? 356 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 356 distinct pattern matches across 3 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 | customext/dummy_rocc_test.c | 1 | // The following is a RISC-V program to test the functionality of the | COMMENT |
| LOW | softfloat/specialize.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | softfloat/specialize.h | 21 | *----------------------------------------------------------------------------*/ | COMMENT |
| LOW | softfloat/softfloat.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | softfloat/platform.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | fdt/libfdt_env.h | 1 | /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */ | COMMENT |
| LOW | fdt/fdt.h | 61 | #define FDT_V2_SIZE (FDT_V1_SIZE + sizeof(fdt32_t)) | COMMENT |
| LOW | fesvr/htif.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | fesvr/context.h | 1 | #ifndef _HTIF_CONTEXT_H | COMMENT |
| LOW | fesvr/elf.h | 1 | // See LICENSE for details. | COMMENT |
| LOW | fesvr/tsi.h | 1 | #ifndef __SAI_H | COMMENT |
| LOW | fesvr/dtm.h | 1 | #ifndef _ROCKET_DTM_H | COMMENT |
| LOW | scripts/vcs-version.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/vcs-version.sh | 21 | # where X is the major release, Y is the minor release, Z is the number | COMMENT |
| LOW | arch_test_target/spike/model_test.h | 41 | //RVTEST_IO_WRITE_STR | COMMENT |
| LOW | riscv/zvkned_ext_macros.h | 1 | // Helper macros to help implement instructions defined as part of | COMMENT |
| LOW | riscv/zvkned_ext_macros.h | 201 | (STATE)[ 3] = (STATE)[ 7]; \ | COMMENT |
| LOW | riscv/devices.h | 1 | #ifndef _RISCV_DEVICES_H | COMMENT |
| LOW | riscv/vector_unit.h | 121 | if (is_write) | COMMENT |
| LOW | riscv/v_ext_macros.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | riscv/imsic.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | riscv/entropy_source.h | 21 | static const uint32_t OPST_ES16 = 0x2 << 30; | COMMENT |
| LOW | riscv/decode_macros.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | riscv/decode_macros.h | 61 | } | COMMENT |
| LOW | riscv/decode_macros.h | 81 | #define RVC_FRS2S READ_FREG(insn.rvc_rs2s()) | COMMENT |
| LOW | riscv/decode_macros.h | 101 | // Zilsd macros | COMMENT |
| LOW | riscv/decode_macros.h | 121 | #define FRS1_D READ_FREG_D(insn.rs1()) | COMMENT |
| LOW | riscv/decode_macros.h | 161 | COMMENT | |
| LOW | riscv/decode_macros.h | 321 | COMMENT | |
| LOW | riscv/processor.h | 1 | // See LICENSE for license details. | COMMENT |
| LOW | riscv/zvksh_ext_macros.h | 1 | // Helper macros and functions to help implement instructions defined as part of | COMMENT |
| LOW | riscv/zvksh_ext_macros.h | 41 | #define T2 0x7A879D8A | COMMENT |
| LOW | riscv/debug_rom_defines.h | 1 | // See LICENSE file for license details. | COMMENT |
| LOW | riscv/debug_rom_defines.h | 21 | #define DEBUG_ROM_FLAG_GO 0 | COMMENT |
| LOW | riscv/encoding.h | 21 | #define MSTATUS_UIE _RISCV_UL(0x00000001) | COMMENT |
| LOW | riscv/encoding.h | 41 | #define MSTATUS_SDT _RISCV_UL(0x01000000) | COMMENT |
| LOW | riscv/encoding.h | 61 | #define SSTATUS_SIE _RISCV_UL(0x00000002) | COMMENT |
| LOW | riscv/encoding.h | 81 | #define HSTATUS_SPVP _RISCV_UL(0x00000100) | COMMENT |
| LOW | riscv/encoding.h | 101 | #define DCSR_CETRIG (1<<19) | COMMENT |
| LOW | riscv/encoding.h | 121 | #define DCSR_CAUSE_DEBUGINT 3 | COMMENT |
| LOW | riscv/encoding.h | 141 | #define MCONTROL_U (1<<3) | COMMENT |
| LOW | riscv/encoding.h | 161 | COMMENT | |
| LOW | riscv/encoding.h | 181 | #define MIP_HS_MASK (MIP_VS_MASK | MIP_SGEIP) | COMMENT |
| LOW | riscv/encoding.h | 201 | #define MENVCFG_CBIE _RISCV_UL(0x00000030) | COMMENT |
| LOW | riscv/encoding.h | 221 | #define MSTATEEN0_PRIV114 _RISCV_ULL(0x0080000000000000) | COMMENT |
| LOW | riscv/encoding.h | 241 | #define MHPMEVENT_VSINH _RISCV_ULL(0x0800000000000000) | COMMENT |
| LOW | riscv/encoding.h | 261 | COMMENT | |
| LOW | riscv/encoding.h | 281 | COMMENT | |
| LOW | riscv/encoding.h | 301 | #define SISELECT_IMSIC _RISCV_UL(0x70) | COMMENT |
| LOW | riscv/encoding.h | 321 | #define HSTATEEN0H_AIA _RISCV_UL(0x08000000) | COMMENT |
| LOW | riscv/encoding.h | 341 | #define MSECCFG_RLB _RISCV_UL(0x00000004) | COMMENT |
| LOW | riscv/encoding.h | 361 | #define PRV_S 1 | COMMENT |
| LOW | riscv/encoding.h | 381 | #define HGATP32_VMID _RISCV_UL(0x1FC00000) | COMMENT |
| LOW | riscv/encoding.h | 401 | COMMENT | |
| LOW | riscv/encoding.h | 421 | #define MCTRCTL_TRETINH _RISCV_ULL(0x0000000800000000) | COMMENT |
| LOW | riscv/encoding.h | 441 | #define SCTRCTL_INTRINH _RISCV_ULL(0x0000000400000000) | COMMENT |
| LOW | riscv/encoding.h | 461 | #define VSCTRCTL_INTRINH _RISCV_ULL(0x0000000400000000) | COMMENT |
| LOW | riscv/encoding.h | 481 | COMMENT | |
| LOW | riscv/encoding.h | 501 | #define IRQ_S_EXT 9 | COMMENT |
| LOW | riscv/encoding.h | 521 | #define PTE_RSVD _RISCV_ULL(0x07C0000000000000) /* Reserved for future standard use */ | COMMENT |
| 287 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/vcs-version.sh | 2 | #========================================================================= | COMMENT |
| MEDIUM | scripts/vcs-version.sh | 4 | #========================================================================= | COMMENT |
| MEDIUM | scripts/vcs-version.sh | 48 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/vcs-version.sh | 50 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/vcs-version.sh | 66 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/vcs-version.sh | 68 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/vcs-version.sh | 84 | #------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | scripts/vcs-version.sh | 86 | #------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | scripts/vcs-version.sh | 85 | # Create the version string | COMMENT |