AI Slop Code RIsk Monitor

rr-debugger/rr

Record and Replay Framework

4.4 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for rr-debugger/rr, a C++ project with 10,701 GitHub stars. SynthScan examined 120,896 lines of code across 1171 source files, recording 498 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 4.4 (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.

4.4
Adjusted Signal
4.4
Raw Pattern Score
100%
Time Factor
2026-10-01
Last Push
10.7K
Stars
C++
Language
120.9K
Lines of Code
1.2K
Files
498
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 10.0/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 264 finding(s).

Hallucinated Dependency & Supply Chain Risk 8.8/100 · LOW

Are imports declared and package/API names verified? 202 finding(s).

Agent Over-Engineering Ratio 3.1/100 · LOW

Are wrappers, guards, and repeated structures necessary? 49 finding(s).

PR Review Velocity Impact 20.6/100 · LOW

Which changes need focused human review? 498 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 5MEDIUM 18LOW 475

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 498 distinct pattern matches across 12 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.

Over-Commented Block236 hits · 210 pts
SeverityFileLineSnippetContext
LOWCMakeLists.txt121set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS_COMMON} -Wstrict-prototypes -std=gnu11")COMMENT
LOWscripts/rr-collect-symbols.py21# structure (e.g. as Ubuntu and Fedora create under /usr/lib/debug), searchesCOMMENT
LOWthird-party/blake2/blake2-impl.h21#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L)COMMENT
LOWthird-party/blake2/sse/blake2b-load-sse2.h21#define LOAD_MSG_0_4(b0, b1) b0 = _mm_set_epi64x(m11, m9); b1 = _mm_set_epi64x(m15, m13)COMMENT
LOWthird-party/blake2/sse/blake2b-load-sse2.h41#define LOAD_MSG_5_4(b0, b1) b0 = _mm_set_epi64x(m5, m13); b1 = _mm_set_epi64x(m9, m14)COMMENT
LOWthird-party/blake2/sse/blake2b-load-sse2.h61#define LOAD_MSG_10_4(b0, b1) b0 = _mm_set_epi64x(m11, m9); b1 = _mm_set_epi64x(m15, m13)COMMENT
LOWthird-party/blake2/sse/blake2b.c21#include "../blake2-impl.h"COMMENT
LOWthird-party/blake2/sse/blake2-config.h21#endifCOMMENT
LOWthird-party/blake2/sse/blake2-config.h41#ifndef HAVE_AVXCOMMENT
LOWthird-party/blake2/sse/blake2-config.h61#endifCOMMENT
LOWthird-party/brotli/include/brotli/port.h21#define BROTLI_GNUC_VERSION \COMMENT
LOWthird-party/brotli/include/brotli/port.h41 BROTLI_MAKE_VERSION((_MSC_FULL_VER / 1000000), \COMMENT
LOWthird-party/brotli/include/brotli/port.h61COMMENT
LOWthird-party/brotli/include/brotli/port.h81#define BROTLI_PGI_VERSION \COMMENT
LOWthird-party/brotli/include/brotli/port.h121#endifCOMMENT
LOWthird-party/brotli/include/brotli/port.h141COMMENT
LOWthird-party/brotli/include/brotli/port.h161#if defined(__TI_COMPILER_VERSION__)COMMENT
LOWthird-party/brotli/include/brotli/port.h181#elseCOMMENT
LOWthird-party/brotli/include/brotli/port.h201#elseCOMMENT
LOWthird-party/brotli/include/brotli/port.h221#if defined(__has_feature)COMMENT
LOWthird-party/brotli/include/brotli/port.h261 !defined(__STDC_NO_VLA__) && !defined(__cplusplus) && \COMMENT
LOWthird-party/brotli/include/brotli/port.h281#define BROTLI_DEC_API __declspec(dllimport)COMMENT
LOWthird-party/brotli/include/brotli/port.h301#elseCOMMENT
LOWthird-party/brotli/enc/hash_longest_match_quickly_inc.h261#undef BUCKET_SWEEP_MASKCOMMENT
LOWthird-party/brotli/enc/encode.c21#include "backward_references_hq.h"COMMENT
LOWthird-party/brotli/enc/encoder_dict.c1/* Copyright 2017 Google Inc. All Rights Reserved.COMMENT
LOWthird-party/brotli/enc/cluster.c41#define FN(X) X ## LiteralCOMMENT
LOWthird-party/brotli/enc/backward_references.c61#include "backward_references_inc.h"COMMENT
LOWthird-party/brotli/enc/backward_references.c81#include "backward_references_inc.h"COMMENT
LOWthird-party/brotli/enc/backward_references.c101#include "backward_references_inc.h"COMMENT
LOWthird-party/brotli/enc/backward_references.c121#define PREFIX() DCOMMENT
LOWthird-party/brotli/enc/backward_references.c141/* NOLINTNEXTLINE(build/include) */COMMENT
LOWthird-party/brotli/enc/histogram.h21COMMENT
LOWthird-party/brotli/enc/memory.h21COMMENT
LOWthird-party/brotli/enc/bit_cost.c21COMMENT
LOWthird-party/brotli/enc/hash.h241COMMENT
LOWthird-party/brotli/enc/hash.h261COMMENT
LOWthird-party/brotli/enc/hash.h281#define HASHER() H4COMMENT
LOWthird-party/brotli/enc/hash.h301COMMENT
LOWthird-party/brotli/enc/hash.h321#define HASHER() H42COMMENT
LOWthird-party/brotli/enc/hash.h341COMMENT
LOWthird-party/brotli/enc/hash.h361#undef HASHERCOMMENT
LOWthird-party/brotli/enc/hash.h381#define HASHER_B HROLLINGCOMMENT
LOWthird-party/brotli/common/version.h41#endifCOMMENT
LOWthird-party/brotli/common/constants.h21#define BROTLI_CONTEXT_MAP_MAX_RLE 16COMMENT
LOWthird-party/brotli/common/platform.h21 * BROTLI_ENABLE_DUMP overrides default "dump" behaviourCOMMENT
LOWthird-party/brotli/common/platform.h101 (BROTLI_SUNPRO_VERSION_CHECK(5, 14, 0) && defined(__cplusplus))COMMENT
LOWthird-party/brotli/common/platform.h121COMMENT
LOWthird-party/brotli/common/platform.h141 BROTLI_INTEL_VERSION_CHECK(16, 0, 0) || \COMMENT
LOWthird-party/brotli/common/platform.h161COMMENT
LOWthird-party/brotli/common/platform.h181 defined(__aarch64__) || defined(__ARM64_ARCH_8__)COMMENT
LOWthird-party/brotli/common/platform.h201#define BROTLI_TARGET_X64COMMENT
LOWthird-party/brotli/common/platform.h221#define BROTLI_TARGET_64_BITS 0COMMENT
LOWthird-party/brotli/common/platform.h241#define BROTLI_LITTLE_ENDIAN 1COMMENT
LOWthird-party/brotli/common/platform.h261#endifCOMMENT
LOWthird-party/brotli/common/platform.h401#define BROTLI_HAS_UBFX (!!0)COMMENT
LOWthird-party/brotli/common/platform.h441 __asm__("rbit %0, %1\n" : "=r"(output) : "r"(input));COMMENT
LOWthird-party/brotli/common/platform.h461BROTLI_MIN_MAX(double) BROTLI_MIN_MAX(float) BROTLI_MIN_MAX(int)COMMENT
LOWthird-party/brotli/dec/decode.c1/* Copyright 2013 Google Inc. All Rights Reserved.COMMENT
LOWthird-party/brotli/dec/decode.c21#include "prefix.h"COMMENT
176 more matches not shown…
Unused Imports199 hits · 199 pts
SeverityFileLineSnippetContext
LOWscripts/zen_workaround.py8CODE
LOWscripts/zen_workaround.py10CODE
LOWscripts/rr-gdb-script-host.py7CODE
LOWscripts/rr-gdb-script-host.py8CODE
LOWsrc/assembly_templates.py2CODE
LOWsrc/test/rseq_cpu_id_reset_longrunning.py1CODE
LOWsrc/test/rseq_cpu_id_reset_longrunning.py2CODE
LOWsrc/test/signal_checkpoint.py1CODE
LOWsrc/test/hbreak.py1CODE
LOWsrc/test/hbreak.py2CODE
LOWsrc/test/parent_no_stop_child_crash.py1CODE
LOWsrc/test/reverse_finish.py1CODE
LOWsrc/test/checkpoint_dying_threads.py1CODE
LOWsrc/test/ptrace_remote_unmap.py1CODE
LOWsrc/test/sanity.py1CODE
LOWsrc/test/mmap_fd_reuse_checkpoint.py1CODE
LOWsrc/test/mprotect_step.py1CODE
LOWsrc/test/watchpoint_syscall.py1CODE
LOWsrc/test/restart_abnormal_exit.py1CODE
LOWsrc/test/watchpoint_unaligned2.py1CODE
LOWsrc/test/info_recording.py1CODE
LOWsrc/test/reverse_step_threads_break.py1CODE
LOWsrc/test/alternate_thread_diversion.py1CODE
LOWsrc/test/madvise_dontfork.py1CODE
LOWsrc/test/dead_thread_target.py1CODE
LOWsrc/test/reverse_step_threads2.py1CODE
LOWsrc/test/invalid_interpreter.py1CODE
LOWsrc/test/subprocess_exit_ends_session.py3CODE
LOWsrc/test/restart_invalid_checkpoint.py1CODE
LOWsrc/test/read_bad_mem.py1CODE
LOWsrc/test/term_rr.py1CODE
LOWsrc/test/reverse_step_threads.py1CODE
LOWsrc/test/call_exit.py2CODE
LOWsrc/test/breakpoint_conditions.py1CODE
LOWsrc/test/reverse_step_long.py1CODE
LOWsrc/test/gdb_bogus_breakpoint.py1CODE
LOWsrc/test/conditional_breakpoint_calls.py1CODE
LOWsrc/test/conditional_breakpoint_calls.py2CODE
LOWsrc/test/mmap_shared_prot.py1CODE
LOWsrc/test/comm.py1CODE
LOWsrc/test/comm.py2CODE
LOWsrc/test/seekticks.py1CODE
LOWsrc/test/unicode.py1CODE
LOWsrc/test/breakpoint_overlap.py4CODE
LOWsrc/test/vfork_break_parent.py1CODE
LOWsrc/test/exec_stop.py1CODE
LOWsrc/test/reverse_continue_breakpoint.py1CODE
LOWsrc/test/reverse_continue_start.py1CODE
LOWsrc/test/reverse_continue_start.py2CODE
LOWsrc/test/util.py1CODE
LOWsrc/test/simple_winch.py1CODE
LOWsrc/test/shared_persistent_file.py1CODE
LOWsrc/test/shared_persistent_file.py2CODE
LOWsrc/test/break_int3.py1CODE
LOWsrc/test/reverse_step_signal.py1CODE
LOWsrc/test/reverse_step_signal.py2CODE
LOWsrc/test/interrupt.py1CODE
LOWsrc/test/siginfo.py1CODE
LOWsrc/test/siginfo.py2CODE
LOWsrc/test/goto_event.py2CODE
139 more matches not shown…
Excessive Try-Catch Wrapping24 hits · 38 pts
SeverityFileLineSnippetContext
LOWsrc/test/util.py43 except Exception as e:CODE
LOW⚡src/test/util.py234 except Exception as e:CODE
LOW⚡src/test/util.py244 except Exception as e:CODE
LOW⚡src/test/util.py250 except Exception as e:CODE
LOWsrc/test/util.py274 except Exception as e:CODE
MEDIUMsrc/test/util.py40def interrupt_debugger():CODE
MEDIUMsrc/test/util.py241def expect(prog, what):CODE
MEDIUMsrc/test/util.py247def send(prog, what):CODE
LOWsrc/test/x86/util.py43 except Exception as e:CODE
LOW⚡src/test/x86/util.py234 except Exception as e:CODE
LOW⚡src/test/x86/util.py244 except Exception as e:CODE
LOW⚡src/test/x86/util.py250 except Exception as e:CODE
LOWsrc/test/x86/util.py274 except Exception as e:CODE
MEDIUMsrc/test/x86/util.py40def interrupt_debugger():CODE
MEDIUMsrc/test/x86/util.py241def expect(prog, what):CODE
MEDIUMsrc/test/x86/util.py247def send(prog, what):CODE
LOWsrc/test/arm/util.py43 except Exception as e:CODE
LOW⚡src/test/arm/util.py234 except Exception as e:CODE
LOW⚡src/test/arm/util.py244 except Exception as e:CODE
LOW⚡src/test/arm/util.py250 except Exception as e:CODE
LOWsrc/test/arm/util.py274 except Exception as e:CODE
MEDIUMsrc/test/arm/util.py40def interrupt_debugger():CODE
MEDIUMsrc/test/arm/util.py241def expect(prog, what):CODE
MEDIUMsrc/test/arm/util.py247def send(prog, what):CODE
Cross-Language Confusion3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH⚡src/generate_syscalls.py99 return syscallno >= 0 && syscallno == X86Arch::${syscall};CODE
HIGH⚡src/generate_syscalls.py101 return syscallno >= 0 && syscallno == X64Arch::${syscall};CODE
HIGH⚡src/generate_syscalls.py103 return syscallno >= 0 && syscallno == ARM64Arch::${syscall};CODE
AI Slop Vocabulary5 hits · 18 pts
SeverityFileLineSnippetContext
LOWscripts/zen_workaround.py133 # effectively will reset the bit we just set if it wasn't already set at boot time.COMMENT
MEDIUM⚡src/syscalls.py1489# The robust futex implementation needs to maintain per-thread listsCOMMENT
MEDIUM⚡src/syscalls.py1490# of robust futexes which are unlocked when the thread exits. TheseCOMMENT
MEDIUM⚡src/syscalls.py1494# set_robust_list sets the head of the list of robust futexes ownedCOMMENT
MEDIUMsrc/test/futex_restart_race.c7// Essentially the key ingredients that need to happen are:COMMENT
Hyper-Verbose Identifiers17 hits · 16 pts
SeverityFileLineSnippetContext
LOWscripts/checkpoint-visualizer.html18function countCheckpointsAtOrAfter(start) {CODE
LOWscripts/checkpoint-visualizer.html28function removeLastCheckpointInRange(x1, x2) {CODE
LOWscripts/rr-collect-symbols.py75def find_altref_for_trace_file(trace_file, altref):CODE
LOWsrc/generate_syscalls.py31def write_syscall_enum_for_tests(f, arch):CODE
LOWsrc/generate_syscalls.py65def write_syscall_record_cases(f):CODE
LOWsrc/generate_syscalls.py130def write_syscall_helper_functions(f):STRING
LOWsrc/generate_syscalls.py140def write_check_syscall_numbers(f):STRING
LOWsrc/assembly_templates.py248def generate_substitute_chunk(s, chunk, byte_array, offset):CODE
LOWsrc/assembly_templates.py265def generate_substitute_method(byte_array, template):CODE
LOWsrc/assembly_templates.py280def generate_field_end_methods(byte_array, template):CODE
LOWsrc/test/parent_no_stop_child_crash.py3def observe_normal_parent_exit():CODE
LOWsrc/test/subprocess_exit_ends_session.py8def observe_child_crash_and_exit():CODE
LOWsrc/test/util.py97def watchpoint_at_address_fail(address, size):CODE
LOWsrc/test/parent_no_break_child_bkpt.py3def observe_normal_parent_exit():CODE
LOWsrc/test/x86/util.py97def watchpoint_at_address_fail(address, size):CODE
LOWsrc/test/arm/util.py97def watchpoint_at_address_fail(address, size):CODE
LOWsrc/preload/tweak_librrpage.py39def seek_nth_section_sh_offset(f, shtable, e_shentsize, n, offset):CODE
Empty Error Handlers2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHscripts/rr-collect-symbols.py102except:CODE
HIGHscripts/rr-collect-symbols.py111except:CODE
Decorative Section Separators3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMCMakeLists.txt991##--------------------------------------------------COMMENT
MEDIUMCMakeLists.txt2237##--------------------------------------------------COMMENT
MEDIUMsrc/test/util.sh223##--------------------------------------------------COMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM.buildkite/Manifest.toml1# This file is machine-generated - editing it directly is not advisedCOMMENT
MEDIUMsrc/test/util.sh2# This file is included by foo.run test-driver files. It providesCOMMENT
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/rr-collect-symbols.py115CODE
LOWscripts/rr-collect-symbols.py170CODE
LOWrelease-process/prepare-release.py94CODE
Modern Structural Boilerplate3 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/test/util.py3__all__ = [ 'expect_rr', 'expect_list', 'expect_debugger',CODE
LOWsrc/test/x86/util.py3__all__ = [ 'expect_rr', 'expect_list', 'expect_debugger',CODE
LOWsrc/test/arm/util.py3__all__ = [ 'expect_rr', 'expect_list', 'expect_debugger',CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/test/util.sh169# Set options to find rr and resource files in the expected places.COMMENT