AI Slop Code Risk Monitor

microsoft/vscode-cpptools

SlopCodeMonitor badge for microsoft/vscode-cpptools Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Official repository for the Microsoft C/C++ extension for VS Code.

1.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for microsoft/vscode-cpptools, a TypeScript project with 6,181 GitHub stars. SynthScan examined 159,745 lines of code across 1172 source files, recording 173 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 1.2 (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.

1.2
Adjusted Signal
1.2
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
6.2K
Stars
TypeScript
Language
159.7K
Lines of Code
1.2K
Files
173
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 5.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 3.8/100 · LOW

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

PR Review Velocity Impact 5.8/100 · LOW

Which changes need focused human review? 173 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 0MEDIUM 4LOW 168

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 173 distinct pattern matches across 6 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.

Hyper-Verbose Identifiers113 hits · 119 pts
SeverityFileLineSnippetContext
LOW…narios/SingleRootProject/tests/inactiveFolding.test.ts261 async function assertInactiveBranchIsFolded(editor: vscode.TextEditor): Promise<void> {CODE
LOW…narios/SingleRootProject/tests/inactiveFolding.test.ts274 async function assertInactiveBranchIsUnfolded(editor: vscode.TextEditor): Promise<void> {CODE
LOW…narios/SingleRootProject/tests/inactiveFolding.test.ts330 async function openFileAndWaitForIntelliSense(fileName: string = "code_folding.cpp"): Promise<vscode.TextEditor> {CODE
LOW…/test/scenarios/SingleRootProject/tests/common.test.ts270 function resolveVariablesWithInput(input: string): ResolveTestFlowEnvironment {CODE
LOW…tDebugging/tests/runWithoutDebugging.terminals.test.ts65async function setWindowsDefaultTerminalProfile(profile?: WindowsTerminalProfile): Promise<void> {CODE
LOW…/scenarios/RunWithoutDebugging/tests/compileProgram.ts39async function setWindowsBuildEnvironment(): Promise<void> {CODE
LOW…ebugging/tests/runWithoutDebugging.integration.test.ts28async function createBreakpointAtResultWriteStatement(sourceUri: vscode.Uri): Promise<vscode.SourceBreakpoint> {CODE
LOW…ebugging/tests/runWithoutDebugging.integration.test.ts37function createSessionTerminatedPromise(sessionName: string): Promise<void> {CODE
LOWExtension/.scripts/vscode.ts30function isRetryableAcquisitionError(err: unknown): boolean {CODE
LOWExtension/.scripts/copyExtensionBinaries.ts103async function findLatestInstalledExtension(providedPath?: string): Promise<string> {CODE
LOWExtension/src/common.ts132export function getVcpkgPathDescriptorFile(): string {CODE
LOWExtension/src/common.ts227export function displayExtensionNotReadyPrompt(): void {CODE
LOW⚡Extension/src/common.ts302export function getProgressDebuggerStarted(): number { return progressDebuggerStarted; } // Debugger initialization was CODE
LOW⚡Extension/src/common.ts303export function getProgressDebuggerSuccess(): number { return progressDebuggerSuccess; } // Debugger was successfully inCODE
LOW⚡Extension/src/common.ts304export function getProgressExecutableStarted(): number { return progressExecutableStarted; } // The extension was activaCODE
LOW⚡Extension/src/common.ts305export function getProgressCopilotSuccess(): number { return progressCopilotSuccess; } // Copilot activation was successCODE
LOW⚡Extension/src/common.ts306export function getProgressExecutableSuccess(): number { return progressExecutableSuccess; } // Starting the exe was sucCODE
LOW⚡Extension/src/common.ts307export function getProgressParseRootSuccess(): number { return progressParseRootSuccess; } // Parse root was successful CODE
LOW⚡Extension/src/common.ts308export function getProgressLanguageServiceDisabled(): number { return progressLanguageServiceDisabled; } // The user disCODE
LOW⚡Extension/src/common.ts309export function getProgressIntelliSenseNoSquiggles(): number { return progressIntelliSenseNoSquiggles; } // IntelliSenseCODE
LOWExtension/src/common.ts519export async function checkExecutableWithoutExtensionExists(filePath: string): Promise<boolean> {CODE
LOWExtension/src/common.ts567export function checkExecutableWithoutExtensionExistsSync(filePath: string): boolean {CODE
LOWExtension/src/common.ts926export async function promptForReloadWindowDueToSettingsChange(): Promise<void> {CODE
LOWExtension/src/common.ts938export function createTempFileWithPostfix(postfix: string): Promise<tmp.FileResult> {CODE
LOWExtension/src/common.ts949function resolveWindowsEnvironmentVariables(str: string): string {CODE
LOWExtension/src/common.ts1119export function extractCompilerPathAndArgs(useLegacyBehavior: boolean, inputCompilerPath?: string, compilerArgs?: stringCODE
LOWExtension/src/common.ts1344function getUniqueWorkspaceNameHelper(workspaceFolder: vscode.WorkspaceFolder, addSubfolder: boolean): string {CODE
LOWExtension/src/common.ts1362export function getUniqueWorkspaceStorageName(workspaceFolder: vscode.WorkspaceFolder): string {CODE
LOWExtension/src/common.ts1453export function getCppToolsTargetPopulation(): TargetPopulation {CODE
LOWExtension/src/common.ts1567export function getMissingMsvcEnvironmentVariables(): string[] {CODE
LOWExtension/src/logger.ts110export function getCrashCallStacksChannel(): vscode.OutputChannel {CODE
LOWExtension/src/telemetry.ts78export function getExperimentationService(): Promise<IExperimentationService> | undefined {CODE
LOWExtension/src/fileType.ts64export function hasNativeFileTypeMappings(): boolean {CODE
LOWExtension/src/LanguageServer/editorConfig.ts15export function mapIndentationReferenceToEditorConfig(value: string | undefined): string {CODE
LOWExtension/src/LanguageServer/editorConfig.ts41export function mapNewOrSameLineToEditorConfig(value: string | undefined): string {CODE
LOWExtension/src/LanguageServer/devcmd.ts31export function isEnvironmentOverrideApplied(): boolean {CODE
LOW…nsion/src/LanguageServer/includeCleanupEditorConfig.ts25export function getIncludeCleanupPreferences(settings: any): IncludeCleanupPreferences {CODE
LOWExtension/src/LanguageServer/languageConfig.ts241export function getLanguageConfigFromPatterns(languageId: string, patterns?: (string | CommentPattern)[]): vscode.LanguaCODE
LOWExtension/src/LanguageServer/settings.ts244function changeBlankStringToUndefined(input: string | undefined): string | undefined {CODE
LOW⚡Extension/src/LanguageServer/extension.ts802async function onGoToNextDirectiveInGroup(): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts806async function onGoToPrevDirectiveInGroup(): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts810async function onRunCodeAnalysisOnActiveFile(): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts817async function onRunCodeAnalysisOnOpenFiles(): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts824async function onRunCodeAnalysisOnAllFiles(): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts829async function onRemoveAllCodeAnalysisProblems(): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts833async function onRemoveCodeAnalysisProblems(refreshSquigglesOnSave: boolean, identifiersAndUris: CodeAnalysisDiagnosticICODE
LOW⚡Extension/src/LanguageServer/extension.ts840async function onFixThisCodeAnalysisProblem(version: number, workspaceEdit: vscode.WorkspaceEdit, refreshSquigglesOnSaveCODE
LOW⚡Extension/src/LanguageServer/extension.ts860async function onFixAllTypeCodeAnalysisProblems(type: string, version: number, workspaceEdit: vscode.WorkspaceEdit, refrCODE
LOW⚡Extension/src/LanguageServer/extension.ts867async function onFixAllCodeAnalysisProblems(version: number, workspaceEdit: vscode.WorkspaceEdit, refreshSquigglesOnSaveCODE
LOW⚡Extension/src/LanguageServer/extension.ts874async function onDisableAllTypeCodeAnalysisProblems(code: string, identifiersAndUris: CodeAnalysisDiagnosticIdentifiersACODE
LOW⚡Extension/src/LanguageServer/extension.ts878async function onCopyDeclarationOrDefinition(args?: any): Promise<void> {CODE
LOW⚡Extension/src/LanguageServer/extension.ts887async function onCreateDeclarationOrDefinition(args?: any): Promise<void> {CODE
LOWExtension/src/LanguageServer/extension.ts107function getVcpkgClipboardInstallAction(port: string): vscode.CodeAction {CODE
LOWExtension/src/LanguageServer/extension.ts130function isMissingIncludeDiagnostic(diagnostic: vscode.Diagnostic): boolean {CODE
LOWExtension/src/LanguageServer/extension.ts281export function updateLanguageConfigurations(): void {CODE
LOWExtension/src/LanguageServer/extension.ts325async function onDidChangeTextEditorVisibleRanges(event: vscode.TextEditorVisibleRangesChangeEvent): Promise<void> {CODE
LOWExtension/src/LanguageServer/extension.ts331function onDidChangeActiveTextEditor(editor?: vscode.TextEditor): void {CODE
LOWExtension/src/LanguageServer/extension.ts368function onDidChangeTextEditorSelection(event: vscode.TextEditorSelectionChangeEvent): void {CODE
LOWExtension/src/LanguageServer/extension.ts375async function onDidChangeVisibleTextEditors(editors: readonly vscode.TextEditor[]): Promise<void> {CODE
LOWExtension/src/LanguageServer/extension.ts477async function onRestartIntelliSenseForFile() {CODE
53 more matches not shown…
Over-Commented Block55 hits · 55 pts
SeverityFileLineSnippetContext
LOW…irootDeadlockTest/assets/SingleRootProject/doxygen.cpp1/// @brief Calculates area of triangleCOMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp1COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp21// "macro": "#ff0000",COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp41//COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp61// },COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp81// "scope": "entity.name.namespace",COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp101// "foreground": "#FFFF00"COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp121// },COMMENT
LOW…est/assets/SingleRootProject/semantic_colorization.cpp141// "scope": "entity.name.operator.custom-literal.string",COMMENT
LOW…on/test/scenarios/SingleRootProject/assets/doxygen.cpp1/// @brief Calculates area of triangleCOMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp1COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp21// "macro": "#ff0000",COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp41//COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp61// },COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp81// "scope": "entity.name.namespace",COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp101// "foreground": "#FFFF00"COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp121// },COMMENT
LOW…ios/SingleRootProject/assets/semantic_colorization.cpp141// "scope": "entity.name.operator.custom-literal.string",COMMENT
LOW…oject/assets/create_declaration_definition/cdd_test2.h1// Use this file to test Create Declaration / DefinitonCOMMENT
LOW…oject/assets/create_declaration_definition/cdd_test1.h1// Use this file to test Create Declaration / DefinitonCOMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp1COMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp21// },COMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp41// "scope": "entity.name.function.preprocessor",COMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp61// "foreground": "#FF0000"COMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp81// },COMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp101// "scope": "entity.name.type",COMMENT
LOW…ootProjects/assets/project_B/semantic_colorization.cpp121// "foreground": "#FFFF00"COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp1COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp21// },COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp41// "scope": "entity.name.function.preprocessor",COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp61// "foreground": "#FF0000"COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp81// },COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp101// "scope": "entity.name.type",COMMENT
LOW…ootProjects/assets/project_C/semantic_colorization.cpp121// "foreground": "#FFFF00"COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp1COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp21// },COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp41// "scope": "entity.name.function.preprocessor",COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp61// "foreground": "#FF0000"COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp81// },COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp101// "scope": "entity.name.type",COMMENT
LOW…ootProjects/assets/project_A/semantic_colorization.cpp121// "foreground": "#FFFF00"COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp1COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp21// },COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp41// "scope": "entity.name.function.preprocessor",COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp61// "foreground": "#FF0000"COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp81// },COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp101// "scope": "entity.name.type",COMMENT
LOW…roject_A/project_subfolder_H/semantic_colorization.cpp121// "foreground": "#FFFF00"COMMENT
LOWExtension/src/LanguageServer/client.ts4141COMMENT
LOWExtension/src/LanguageServer/client.ts4501 // as a delimiter between key=value pairs, so a single space is a valid, cross-platformCOMMENT
LOWExtension/src/Debugger/evaluatableExpression.ts81// or undefined when the cursor is not on an expression token.COMMENT
LOWExtension/src/Debugger/nativeAttach.ts81 // | # of processes | Time (ms) |COMMENT
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply needCOMMENT
LOW.github/actions/Reopener/index.js21//# sourceMappingURL=index.js.mapCOMMENT
LOW.github/actions/StaleCloser/index.js21//# sourceMappingURL=index.js.mapCOMMENT
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALExtension/src/LanguageServer/client.ts1983 params.activeUri = vscode.window.activeTextEditor.document.uri.toString();CODE
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMBuild/loc/TranslationsImportExport.yml1# ==================================================================================COMMENT
MEDIUMBuild/loc/TranslationsImportExport.yml4# ==================================================================================COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/codeql.yml58 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize howCOMMENT
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMBuild/lldb-mi/lldb-mi.template.yml112 # Create a separate build directory for building lldb-mi.COMMENT