AI Slop Code Risk Monitor

f4exb/sdrangel

SlopCodeMonitor badge for f4exb/sdrangel Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube

3.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for f4exb/sdrangel, a C++ project with 4,145 GitHub stars. SynthScan examined 1,446,928 lines of code across 5718 source files, recording 4980 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 3.9 (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.

3.9
Adjusted Signal
3.9
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
4.1K
Stars
C++
Language
1.4M
Lines of Code
5.7K
Files
5.0K
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 15.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

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

Agent Over-Engineering Ratio 2.8/100 · LOW

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

PR Review Velocity Impact 17.4/100 · LOW

Which changes need focused human review? 4980 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 1HIGH 8MEDIUM 252LOW 4719

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 4980 distinct pattern matches across 16 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 Block4616 hits · 4612 pts
SeverityFileLineSnippetContext
LOW.appveyor.yml21 # -DCMAKE_PREFIX_PATH=C:\\Qt\\5.15.2\\msvc2019_64;C:\\Libraries\\boost_1_73_0"COMMENT
LOW.appveyor.yml41# # - TARGET: 'vs2019gui'COMMENT
LOW.appveyor.yml61# # secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+WfszodCOMMENT
LOW.appveyor.yml81# devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \COMMENT
LOW.appveyor.yml101# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_rtlsdr.sh; fCOMMENT
LOW.appveyor.yml121# # release: sdrangel-v$(appveyor_build_version)COMMENT
LOWmodemm17/M17Demodulator.h1// Copyright 2020-2021 Rob Riggs <rob@mobilinkd.com>COMMENT
LOWmodemm17/M17FrameDecoder.h1// Copyright 2021 Mobilinkd LLC.COMMENT
LOWmodemm17/M17Demodulator.cpp1#include <QDebug>COMMENT
LOWmodemm17/M17Demodulator.cpp21// -0.11540977897637611, -0.14703962203941534, -0.16119995609538576, -0.14969512896336504, -0.10610329539459COMMENT
LOWmodemm17/Util.h1// Copyright 2020 Mobilinkd LLC.COMMENT
LOWmodemm17/M17Modulator.cpp21// 0.0029364388513841593, 0.0031468394550958484, 0.002699564567597445, 0.001661182944400927, 0.00023319405581COMMENT
LOWmodemm17/M17Modulator.cpp41// -0.01944761739590459, -0.018598682349642525, -0.013403099825723372, -0.0055333532968188165, 0.00303152272555COMMENT
LOWmodemm17/ax25_frame.h1// Copyright 2012-2021 Rob Riggs <rob@mobilinkd.com>COMMENT
LOWmodemm17/Correlator.h1// Copyright 2021 Rob Riggs <rob@mobilinkd.com>COMMENT
LOWmodemm17/M17Modulator.h1#pragma onceCOMMENT
LOWmodemdab/dabaudioframing.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabmsc.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabmsc.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabtii.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabtii.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabofdm.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabtables.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabconvolutional.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabaudioframing.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabpad.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabfft.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabfft.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabreceiver.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabreceiver.h21COMMENT
LOWmodemdab/dabtables.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabprofile.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabofdm.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabprofile.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabensemble.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabensemble.h21COMMENT
LOWmodemdab/dabreceiver.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabcoherent.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabcoherent.cpp421 m_feedback = alpha;COMMENT
LOWmodemdab/dabpad.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabaudiodecoder.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabcoherent.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabcoherent.h21COMMENT
LOWmodemdab/dabcoherent.h41// then estimated from the symbols before and after, each turned by its known symbol, ratherCOMMENT
LOWmodemdab/dabensemble.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabconvolutional.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemdab/dabaudiodecoder.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_crypto.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_crypto.h41MODEMMESHCORE_API QByteArray derivePubKey(const QByteArray& seed);COMMENT
LOWmodemmeshcore/tiny_aes.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_identity.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/monocypher.h1// Monocypher version __git__COMMENT
LOWmodemmeshcore/monocypher.h21//COMMENT
LOWmodemmeshcore/monocypher.h41//COMMENT
LOWmodemmeshcore/meshcore_builders.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_command.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_crypto.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_builders.h1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/meshcore_identity.cpp1///////////////////////////////////////////////////////////////////////////////////COMMENT
LOWmodemmeshcore/monocypher-ed25519.h1// Monocypher version __git__COMMENT
4556 more matches not shown…
Decorative Section Separators209 hits · 698 pts
SeverityFileLineSnippetContext
MEDIUMscriptsapi/config.py29# ======================================================================COMMENT
MEDIUMscriptsapi/config.py45# ======================================================================COMMENT
MEDIUMscriptsapi/config.py52# ======================================================================COMMENT
MEDIUMscriptsapi/config.py65# ======================================================================COMMENT
MEDIUMscriptsapi/config.py113# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py94# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py97# ----------------------------------------------------------------------COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py106# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py109# ----------------------------------------------------------------------COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py127# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py130# ----------------------------------------------------------------------COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py134# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py137# ----------------------------------------------------------------------COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py162# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py165# ----------------------------------------------------------------------COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py169# ======================================================================COMMENT
MEDIUM⚡scriptsapi/plutodvbrpt.py172# ----------------------------------------------------------------------COMMENT
MEDIUMscriptsapi/plutodvbrpt.py52# ======================================================================COMMENT
MEDIUMscriptsapi/plutodvbrpt.py65# ======================================================================COMMENT
MEDIUMscriptsapi/plutodvbrpt.py68# ----------------------------------------------------------------------COMMENT
MEDIUMscriptsapi/plutodvbrpt.py195# ======================================================================COMMENT
MEDIUMscriptsapi/plutodvbrpt.py198# ----------------------------------------------------------------------COMMENT
MEDIUMscriptsapi/plutodvbrpt.py211# ======================================================================COMMENT
MEDIUMscriptsapi/plutodvbrpt.py214# ----------------------------------------------------------------------COMMENT
MEDIUMscriptsapi/plutodvbrpt.py237# ======================================================================COMMENT
MEDIUMscriptsapi/plutodvbrpt.py240# ----------------------------------------------------------------------COMMENT
MEDIUMscriptsapi/plutodvbrpt.py275# ======================================================================COMMENT
MEDIUMscriptsapi/plutodvbrpt.py278# ----------------------------------------------------------------------COMMENT
MEDIUMscriptsapi/plutodvbrpt.py302# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py30# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py35# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py39# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py43# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py47# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py51# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py56# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py138# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py142# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py146# ======================================================================COMMENT
MEDIUM⚡scriptsapi/superscanner.py153# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py107# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py171# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py177# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py197# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py211# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py216# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py255# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py263# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py275# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py287# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py354# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py373# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py390# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py398# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py416# ======================================================================COMMENT
MEDIUMscriptsapi/superscanner.py451# ======================================================================COMMENT
MEDIUM⚡scriptsapi/freqtracking.py59# ======================================================================COMMENT
MEDIUM⚡scriptsapi/freqtracking.py62# ----------------------------------------------------------------------COMMENT
MEDIUM⚡scriptsapi/freqtracking.py70# ======================================================================COMMENT
MEDIUM⚡scriptsapi/freqtracking.py73# ----------------------------------------------------------------------COMMENT
149 more matches not shown…
Excessive Try-Catch Wrapping56 hits · 99 pts
SeverityFileLineSnippetContext
MEDIUMscriptsapi/config.py94 print("Error %d:%s" % (r.status_code, command.get('msg', '')))CODE
LOWscriptsapi/config.py108 except Exception as ex:CODE
MEDIUMscriptsapi/config.py66def main():CODE
LOW⚡scriptsapi/plutodvbrpt.py122 except Exception as ex:CODE
LOW⚡scriptsapi/plutodvbrpt.py158 except Exception as ex:CODE
LOWscriptsapi/plutodvbrpt.py296 except Exception as ex: # pylint: disable=broad-exceptCODE
MEDIUMscriptsapi/superscanner.py417def main():CODE
LOW⚡scriptsapi/superscanner.py134 except Exception as ex:CODE
LOWscriptsapi/superscanner.py447 except Exception as ex:CODE
LOWscriptsapi/dump.py242 except Exception as ex:CODE
MEDIUMscriptsapi/dump.py227def main():CODE
LOWscriptsapi/ptt_feature.py106 except Exception as ex:CODE
MEDIUMscriptsapi/ptt_feature.py93def main():CODE
LOWscriptsapi/qo100_datv.py186 except Exception as ex: # pylint: disable=broad-exceptCODE
MEDIUM⚡swagger/sdrangel/examples/ptt.py52 print("Error starting device %d" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/ptt.py58 print("Error getting device %d running state" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/ptt.py74 print("Error stopping device %d" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/ptt.py80 print("Error getting device %d running state" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/ptt.py92 print("Error setting focus on device set %d" % deviceIndex)CODE
MEDIUMswagger/sdrangel/examples/ptt.py128 print("Error getting device sets configuration")CODE
LOWswagger/sdrangel/examples/ptt.py130 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/ptt.py96def main():CODE
LOWswagger/sdrangel/examples/nfm_test.py93 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/nfm_test.py57def main():CODE
MEDIUM⚡swagger/sdrangel/examples/start_stop.py50 print("Error starting device %d" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/start_stop.py56 print("Error getting device %d running state" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/start_stop.py72 print("Error stopping device %d" % deviceIndex)CODE
MEDIUM⚡swagger/sdrangel/examples/start_stop.py78 print("Error getting device %d running state" % deviceIndex)CODE
MEDIUMswagger/sdrangel/examples/start_stop.py102 print("Error getting device sets configuration")CODE
LOWswagger/sdrangel/examples/start_stop.py104 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/start_stop.py82def main():CODE
LOWswagger/sdrangel/examples/scanner.py374 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/scanner.py276def main():CODE
MEDIUM⚡swagger/sdrangel/examples/config.py55 print("Error %d:%s" % (r.status_code, command[4]))CODE
LOW⚡swagger/sdrangel/examples/config.py64 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/config.py38def main():CODE
LOWswagger/sdrangel/examples/tx_test.py287 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/tx_test.py261def main():CODE
LOWswagger/sdrangel/examples/rx_tx_test.py251 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/rx_tx_test.py90def main():CODE
LOWswagger/sdrangel/examples/rx_test.py364 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/rx_test.py340def main():CODE
LOWswagger/sdrangel/examples/stop_server.py68 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/stop_server.py57def main():CODE
MEDIUMswagger/sdrangel/examples/add_channel.py44 print("Error adding channel. HTTP: %d" % r.status_code)CODE
LOWswagger/sdrangel/examples/add_channel.py47 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/add_channel.py33def main():CODE
MEDIUMswagger/sdrangel/examples/randomize_colors.py112 print("Error changing channel {0} color to rgb({1},{2},{3})".format(channel_info["index"], rn, gn, bn))CODE
MEDIUM⚡swagger/sdrangel/examples/randomize_colors.py152 print("Error changing channel {0} color to rgb({1},{2},{3})".format(channel_info["index"], rn, gn, bn))CODE
MEDIUMswagger/sdrangel/examples/randomize_colors.py184 print("Error getting deviceset %d info. HTTP: %d" % (options.device_index, r.status_code))CODE
LOWswagger/sdrangel/examples/randomize_colors.py187 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/randomize_colors.py169def main():CODE
LOWswagger/sdrangel/examples/limesdr_tx.py116 except Exception as ex:CODE
MEDIUMswagger/sdrangel/examples/limesdr_tx.py61def main():CODE
MEDIUMswagger/sdrangel/examples/rtlsdr_settings.py57 print("Error HTTP:", r.status_code)CODE
MEDIUMswagger/sdrangel/examples/rtlsdr_settings.py68 print("Error HTTP:", r.status_code)CODE
AI Response Leakage7 hits · 38 pts
SeverityFileLineSnippetContext
HIGHplugins/samplesource/limesdrinput/readme.md69&#9758; In the LMS7002M TSP block the NCO sits before the decimator (see Fig.14 of the [datasheet](http://www.limemicro.CODE
HIGHplugins/samplesource/xtrxinput/readme.md97&#9758; In the LMS7002M TSP block the NCO sits before the decimator (see Fig.14 of the [datasheet](http://www.limemicro.CODE
HIGHplugins/samplesink/limesdroutput/readme.md87&#9758; In the LMS7002M TSP block the NCO sits after the interpolator (see Fig.14 of the [datasheet](http://www.limemicrCODE
HIGHplugins/samplesink/xtrxoutput/readme.md87&#9758; In the LMS7002M TSP block the NCO sits after the interpolator (see Fig.14 of the [datasheet](http://www.limemicrCODE
HIGHplugins/channelrx/demodadsb/adsbdemodgui.cpp3717 // I've implemented a few extra BDSes, but these are rarely seen.COMMENT
HIGHplugins/samplemimo/limesdrmimo/readme.md76&#9758; In the LMS7002M TSP Rx block the NCO sits before the decimator (see Fig.14 of the [datasheet](http://www.limemicCODE
HIGHplugins/samplemimo/xtrxmimo/readme.md106&#9758; In the LMS7002M TSP Rx block the NCO sits before the decimator (see Fig.14 of the [datasheet](http://www.limemicCODE
Deep Nesting27 hits · 25 pts
SeverityFileLineSnippetContext
LOWscriptsapi/config.py66CODE
LOWscriptsapi/plutodvbrpt.py135CODE
LOWscriptsapi/superscanner.py108CODE
LOWscriptsapi/superscanner.py217CODE
LOWscriptsapi/freqtracking.py71CODE
LOWscriptsapi/dump.py198CODE
LOWscriptsapi/ptt_feature.py32CODE
LOWswagger/sdrangel/examples/ptt.py40CODE
LOWswagger/sdrangel/examples/ptt.py62CODE
LOWswagger/sdrangel/examples/ptt.py96CODE
LOWswagger/sdrangel/examples/start_stop.py38CODE
LOWswagger/sdrangel/examples/start_stop.py60CODE
LOWswagger/sdrangel/examples/start_stop.py82CODE
LOWswagger/sdrangel/examples/scanner.py103CODE
LOWswagger/sdrangel/examples/scanner.py158CODE
LOWswagger/sdrangel/examples/scanner.py178CODE
LOWswagger/sdrangel/examples/scanner.py223CODE
LOWswagger/sdrangel/examples/scanner.py276CODE
LOWswagger/sdrangel/examples/config.py38CODE
LOWswagger/sdrangel/examples/tx_test.py95CODE
LOWswagger/sdrangel/examples/tx_test.py113CODE
LOWswagger/sdrangel/examples/tx_test.py168CODE
LOWswagger/sdrangel/examples/rx_tx_test.py90CODE
LOWswagger/sdrangel/examples/rx_test.py135CODE
LOWswagger/sdrangel/examples/rx_test.py244CODE
LOWswagger/sdrangel/examples/randomize_colors.py41CODE
LOWsdrgui/copygen.py113CODE
AI Slop Vocabulary8 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUMplugins/feature/startracker/startracker.cpp724 // (Essentially the same as Gaussian of exp(-4*ln(theta^2/beamwidth^2))COMMENT
MEDIUMplugins/channelrx/demoddrm/drmdemodsink.cpp1610 // starts it again (a seamless reconfiguration would need each frame'sCOMMENT
MEDIUMplugins/channelrx/demodwefax/wefaxdecoder.cpp421 // Theil-Sen gives a robust first estimate for the short phasing sequence.COMMENT
MEDIUMplugins/channelrx/demodselcal/selcalcarriertracker.cpp105 // The median is robust to the carrier and any tones near it. For noiseCOMMENT
MEDIUMplugins/channelrx/demodselcal/selcaldecoder.cpp264 // The median of the band is robust to the tones themselves. For whiteCOMMENT
MEDIUM…ugins/channelrx/demodmeshtastic/meshtasticdemodgui.cpp1179 const int minEffectiveRate = std::max(500000, bandwidthHz * 4); // Keep margin above 2*BW for robust LoRa decode.CODE
MEDIUMplugins/channelrx/demodmeshcore/meshcoredemodgui.cpp1179 const int minEffectiveRate = std::max(500000, bandwidthHz * 4); // Keep margin above 2*BW for robust LoRa decode.CODE
MEDIUMsdrgui/dtv/dtvvideoplayer.cpp1196 // GPU decoders aren't as robust against damaged data as FFmpeg's own: NVDEC read thousands of bytes beyond aCOMMENT
Verbosity Indicators11 hits · 21 pts
SeverityFileLineSnippetContext
LOWplugins/channelrx/freqscanner/freqscannersink.cpp924 // Step 1: Compute log magnitude spectrumCOMMENT
LOWplugins/channelrx/freqscanner/freqscannersink.cpp938 // Step 2: Apply cepstral liftering for better source-filter separationCOMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp972 // Step 3: IFFT to get cepstrum (quefrency domain)COMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp975 // Step 4: Estimate pitch from the cepstrum before liftering.COMMENT
LOWplugins/channelrx/freqscanner/freqscannersink.cpp1003 // Step 5: Apply lifter (low-pass filter in quefrency domain)COMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp1036 // Step 6: FFT back to frequency domain (smoothed log spectrum)COMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp1039 // Step 7: Convert back to linear magnitudeCOMMENT
LOWplugins/channelrx/demodadsb/adsbdemodgui.cpp3400// Called when we have lat & long from local decode and we need to check if it is in a valid range (<180nm/333km airbornCOMMENT
LOW.github/workflows/coverity.sh217 # Step 1: Initialize buildCOMMENT
LOW⚡.github/workflows/coverity.sh242 # Step 2: Upload to cloudCOMMENT
LOW⚡.github/workflows/coverity.sh251 # Step 3: Enqueue buildCOMMENT
Structural Annotation Overuse10 hits · 20 pts
SeverityFileLineSnippetContext
LOWplugins/channelrx/freqscanner/freqscannersink.cpp924 // Step 1: Compute log magnitude spectrumCOMMENT
LOWplugins/channelrx/freqscanner/freqscannersink.cpp938 // Step 2: Apply cepstral liftering for better source-filter separationCOMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp972 // Step 3: IFFT to get cepstrum (quefrency domain)COMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp975 // Step 4: Estimate pitch from the cepstrum before liftering.COMMENT
LOWplugins/channelrx/freqscanner/freqscannersink.cpp1003 // Step 5: Apply lifter (low-pass filter in quefrency domain)COMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp1036 // Step 6: FFT back to frequency domain (smoothed log spectrum)COMMENT
LOW⚡plugins/channelrx/freqscanner/freqscannersink.cpp1039 // Step 7: Convert back to linear magnitudeCOMMENT
LOW.github/workflows/coverity.sh217 # Step 1: Initialize buildCOMMENT
LOW⚡.github/workflows/coverity.sh242 # Step 2: Upload to cloudCOMMENT
LOW⚡.github/workflows/coverity.sh251 # Step 3: Enqueue buildCOMMENT
Hyper-Verbose Identifiers13 hits · 14 pts
SeverityFileLineSnippetContext
LOWscriptsapi/dump.py45 def delete_all_features_items(self):CODE
LOWscriptsapi/dump.py116 def delete_all_channels_items(self):CODE
LOW⚡scriptsapi/qo100_datv.py50 def change_device_center_frequency(self, content, new_frequency):CODE
LOW⚡scriptsapi/qo100_datv.py70 def change_channel_center_frequency(self, content, new_frequency):CODE
LOW⚡sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.js1!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fuCODE
LOW⚡…ces/webapi/doc/swagger-ui/swagger-ui-es-bundle-core.js2import*as e from"ieee754";import*as t from"base64-js";import*as r from"react";import*as n from"redux";import*as a from"iCODE
LOW…/webapi/doc/swagger-ui/swagger-ui-standalone-preset.js2!function webpackUniversalModuleDefinition(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"fuCODE
LOWswagger/sdrangel/examples/randomize_colors.py93def randomize_channels_colors(options, channels):CODE
LOWplugins/feature/map/map/cockpit.js953function drawVerticalSpeedIndicator(ctx, fm20, fm30) {CODE
LOWplugins/feature/map/map/map3d.html1220 function getTimerIntervalPropertyValueAt(entity, propertyName, time) {CODE
LOWplugins/feature/map/map/map3d.html1235 function getSampledPropertyValueAt(entity, propertyName, time) {CODE
LOWplugins/feature/mcpserver/mcpserver.h34class MCPRequestHandler;CODE
LOWplugins/feature/mcpserver/mcprequesthandler.h42class MCPRequestHandler : public qtwebapp::HttpRequestHandlerCODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICAL…re/map/Cesium/ThirdParty/google-earth-dbroot-parser.js1(()=>{window.cesiumGoogleEarthDbRootParser=function(d){"use strict";var f=d.Reader,u=d.util,n=d.roots.default||(d.roots.CODE
Unused Imports12 hits · 8 pts
SeverityFileLineSnippetContext
LOWscriptsapi/plutodvbrpt.py10CODE
LOWscriptsapi/plutodvbrpt.py11CODE
LOWscriptsapi/superscanner.py6CODE
LOWscriptsapi/superscanner.py8CODE
LOWscriptsapi/superscanner.py9CODE
LOWscriptsapi/superscanner.py15CODE
LOWscriptsapi/superscanner.py199CODE
LOWscriptsapi/freqtracking.py19CODE
LOWscriptsapi/freqtracking.py22CODE
LOWscriptsapi/dump.py15CODE
LOWsdrgui/copygen.py9CODE
LOWsdrgui/copygen.py10CODE
Fake / Example Data4 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.js1!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fuCODE
LOW⚡sdrbase/resources/webapi/doc/swagger-ui/swagger-ui.js1!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"fuCODE
LOW⚡…ces/webapi/doc/swagger-ui/swagger-ui-es-bundle-core.js2import*as e from"ieee754";import*as t from"base64-js";import*as r from"react";import*as n from"redux";import*as a from"iCODE
LOW⚡…ces/webapi/doc/swagger-ui/swagger-ui-es-bundle-core.js2import*as e from"ieee754";import*as t from"base64-js";import*as r from"react";import*as n from"redux";import*as a from"iCODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHswagger/sdrangel/examples/scanner.py372except KeyboardInterrupt:CODE
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOW.github/workflows/git-attributes.yml20 # Check if renormalization changed anythingCOMMENT
LOWsnap/local/sdrangel_wrapper.sh202# Set XDG_DATA_HOME to local pathCOMMENT
LOWsnap/local/sdrangel_wrapper.sh267# Check if we can actually read the contents of each xdg dirCOMMENT
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWmodemmeshcore/monocypher.h255// Don't forget to add authentication.COMMENT
Modern Structural Boilerplate1 hit · 0 pts
SeverityFileLineSnippetContext
LOWscriptsapi/plutodvbrpt.py20logger = logging.getLogger(__name__)CODE