AI Slop Code Risk Monitor

plantuml/plantuml

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

Generate diagrams from textual description

2.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for plantuml/plantuml, a Java project with 13,390 GitHub stars. SynthScan examined 617,132 lines of code across 4134 source files, recording 752 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.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.

2.2
Adjusted Signal
2.2
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
13.4K
Stars
Java
Language
617.1K
Lines of Code
4.1K
Files
752
Pattern Hits
2026-10-31
Scan Date
0.01
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.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 4.9/100 · LOW

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

Agent Over-Engineering Ratio 0.4/100 · LOW

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

PR Review Velocity Impact 9.7/100 · LOW

Which changes need focused human review? 752 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 52HIGH 0MEDIUM 19LOW 681

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 752 distinct pattern matches across 13 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.

Hallucination Indicators52 hits · 600 pts
SeverityFileLineSnippetContext
CRITICAL⚡src/test/resources/vega/vega.json290 "net.sourceforge.plantuml.crash.CrashDiagram.checkFinalError(CrashDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json291 "net.sourceforge.plantuml.command.PSystemCommandFactory.finalizeDiagram(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json292 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json293 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json310 "net.sourceforge.plantuml.crash.CommandSelectCrash.executeArg(CommandSelectCrash.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json311 "net.sourceforge.plantuml.crash.CommandSelectCrash.executeArg(CommandSelectCrash.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json312 "net.sourceforge.plantuml.command.UBrexSingleLineCommand2.execute(UBrexSingleLineCommand2.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json313 "net.sourceforge.plantuml.command.ProtectedCommand.execute(ProtectedCommand.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json314 "net.sourceforge.plantuml.core.AbstractDiagram.executeCommand(AbstractDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json315 "net.sourceforge.plantuml.command.PSystemCommandFactory.executeFewLines(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json316 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json317 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2514 "net.sourceforge.plantuml.packetdiag.PacketDiagram.adjustIndicators(PacketDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2515 "net.sourceforge.plantuml.packetdiag.PacketDiagram.build(PacketDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2516 "net.sourceforge.plantuml.packetdiag.PacketDiagram.checkFinalError(PacketDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2517 "net.sourceforge.plantuml.command.PSystemCommandFactory.finalizeDiagram(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2518 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2519 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2622 "net.sourceforge.plantuml.packetdiag.PacketDiagram.adjustIndicators(PacketDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2623 "net.sourceforge.plantuml.packetdiag.PacketDiagram.build(PacketDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2624 "net.sourceforge.plantuml.packetdiag.PacketDiagram.checkFinalError(PacketDiagram.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2625 "net.sourceforge.plantuml.command.PSystemCommandFactory.finalizeDiagram(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2626 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICAL⚡src/test/resources/vega/vega.json2627 "net.sourceforge.plantuml.command.PSystemCommandFactory.createSystem(PSystemCommandFactory.java)",CODE
CRITICALsrc/test/resources/vega/vega.json271 "net.sourceforge.plantuml.crash.CrashDiagram.getTextBlock(CrashDiagram.java)",CODE
CRITICALsrc/test/resources/vega/vega.json412 "org.junit.jupiter.api.Assertions.assertFalse(Assertions.java)",CODE
CRITICALsrc/test/resources/vega/vega.json2481 "net.sourceforge.plantuml.core.TextBlockExporter.calculateFinalDimension(TextBlockExporter.java)",CODE
CRITICALsrc/test/resources/vega/vega.json2482 "net.sourceforge.plantuml.core.TextBlockExporter.exportTo(TextBlockExporter.java)",CODE
CRITICALsrc/test/resources/vega/vega.json2502 "net.sourceforge.plantuml.packetdiag.PacketDiagram.remainder(PacketDiagram.java)",CODE
CRITICALsrc/test/resources/vega/vega.json2610 "net.sourceforge.plantuml.packetdiag.PacketDiagram.remainder(PacketDiagram.java)",CODE
CRITICALsrc/test/resources/vega/vega.json2888 "net.sourceforge.plantuml.core.TextBlockExporter.calculateFinalDimension(TextBlockExporter.java)",CODE
CRITICALsrc/test/resources/vega/vega.json2889 "net.sourceforge.plantuml.core.TextBlockExporter.exportTo(TextBlockExporter.java)",CODE
CRITICAL…orge/plantuml/style/StyleLoaderParseStyleTextTest.java50 * {@code new net.sourceforge.plantuml.style.parser.StyleParser(counter).parse(lines)} -- theCOMMENT
CRITICAL…ceforge/plantuml/style/parser/LevelConstraintTest.java117 assertThrows(IllegalArgumentException.class, new org.junit.jupiter.api.function.Executable() {CODE
CRITICAL…ceforge/plantuml/style/parser/LevelConstraintTest.java123 assertThrows(IllegalArgumentException.class, new org.junit.jupiter.api.function.Executable() {CODE
CRITICAL…/net/sourceforge/plantuml/svg/parser/SvgSaxParser.java494 net.sourceforge.plantuml.klimt.UPath path = net.sourceforge.plantuml.klimt.UPath.none();CODE
CRITICAL…/net/sourceforge/plantuml/svg/parser/SvgSaxParser.java538 net.sourceforge.plantuml.klimt.UPath path = net.sourceforge.plantuml.klimt.UPath.none();CODE
CRITICAL…/net/sourceforge/plantuml/svg/parser/SvgSaxParser.java606 net.sourceforge.plantuml.klimt.UPath path = net.sourceforge.plantuml.klimt.UPath.none();CODE
CRITICAL…n/java/net/sourceforge/plantuml/security/SImageIO.java67 final String base64 = new String(net.sourceforge.plantuml.utils.Base64Coder.encode(pngBytes));CODE
CRITICAL…n/java/net/sourceforge/plantuml/brotli/Dictionary.java45 net.sourceforge.plantuml.brotli.DictionaryData.init();CODE
CRITICAL⚡…java/net/sourceforge/plantuml/chart/ChartRenderer.java1257 final net.sourceforge.plantuml.klimt.shape.UEllipse circle = net.sourceforge.plantuml.klimt.shape.UEllipse.build(sizeCODE
CRITICAL⚡…java/net/sourceforge/plantuml/chart/ChartRenderer.java1261 final net.sourceforge.plantuml.klimt.shape.URectangle square = net.sourceforge.plantuml.klimt.shape.URectangle.build(CODE
CRITICAL⚡…java/net/sourceforge/plantuml/chart/ChartRenderer.java1265 final net.sourceforge.plantuml.klimt.shape.UPolygon triangle = new net.sourceforge.plantuml.klimt.shape.UPolygon();CODE
CRITICAL…java/net/sourceforge/plantuml/chart/ChartRenderer.java1374 final net.sourceforge.plantuml.klimt.shape.UPolygon arrowhead = new net.sourceforge.plantuml.klimt.shape.UPolygon(CODE
CRITICAL…java/net/sourceforge/plantuml/chart/ChartRenderer.java1402 final net.sourceforge.plantuml.klimt.shape.UPolygon arrowhead = new net.sourceforge.plantuml.klimt.shape.UPolygon(CODE
CRITICAL…n/java/net/sourceforge/plantuml/style/StyleLoader.java97 * replacement for {@code new net.sourceforge.plantuml.style.parser.StyleParser(counter).parse(lines)},COMMENT
CRITICAL…va/net/sourceforge/plantuml/svek/DotStringFactory.java295 return net.sourceforge.plantuml.teavm.js.GraphVizEngineJs.renderDotToSvg(dotString);CODE
CRITICAL…va/net/sourceforge/plantuml/svek/DotStringFactory.java628 return net.sourceforge.plantuml.klimt.shape.DotPath.fromBeziers(beziers);CODE
CRITICALsrc/main/java/net/atmp/CucaDiagram.java475 maker = (TeaVM.isC() || this.isUseSmetana() || net.sourceforge.plantuml.teavm.js.GraphVizEngineJs.vizMissingFallback(CODE
CRITICALsrc/main/java/net/atmp/CucaDiagram.java490 && net.sourceforge.plantuml.teavm.js.GraphVizEngineJs.isAvailable() == false)CODE
CRITICALsrc/main/java/gen/lib/cgraph/graph__c.java143 g.clos.state.id = (__ptr__) g.clos.disc.id.open.exe(zz, g, arg_disc);CODE
CRITICALsrc/main/java/gen/lib/cgraph/mem__c.java144// mem = (__ptr__) g.clos.disc.mem.alloc.exe(g.clos.state.mem, size);COMMENT
Over-Commented Block575 hits · 554 pts
SeverityFileLineSnippetContext
LOWteavm-wasm.sh1#!/bin/bashCOMMENT
LOWtools/create_sprites.sh1#!/usr/bin/env bashCOMMENT
LOWtools/create_sprites.sh21#COMMENT
LOWtools/browser-test/check-smetana.js1'use strict';COMMENT
LOWtools/browser-test/check-file-loader.js1'use strict';COMMENT
LOWtools/browser-test/check-file-loader.js21// delivered file that contains the include, so relative names resolveCOMMENT
LOWtools/browser-test/check-file-loader.js41//COMMENT
LOWtools/browser-test/check-viz-fallback.js1'use strict';COMMENT
LOWtools/browser-test/check-stdlib-loader.js1'use strict';COMMENT
LOWtools/browser-test/check-stdlib-loader.js21// never asked for it. This is what lets a page that imports the engineCOMMENT
LOWtools/browser-test/check-background.js1'use strict';COMMENT
LOWtools/browser-test/check-resource-rounds.js1'use strict';COMMENT
LOWtools/browser-test/check-viz-missing.js1'use strict';COMMENT
LOWtools/browser-test/check-render-queue.js1'use strict';COMMENT
LOWtools/perf-bench/bench.js1'use strict';COMMENT
LOWtools/teavm-coroutines/check_no_coroutines.py21# TeaVM always emits its own java.lang.Object.monitorEnter() as a coroutine,COMMENT
LOWplantuml-mcp-js/server.js1#!/usr/bin/env nodeCOMMENT
LOWplantuml-mcp-js/server.js21import { z } from "zod";COMMENT
LOWplantuml-mcp-js/server.js61// `engine.js` (produced by the `npmPackage` Gradle task).COMMENT
LOW.github/scripts/test-summary.sh1#!/usr/bin/env bashCOMMENT
LOW…net/sourceforge/plantuml/klimt/font/FontStackTest.java21 FontStack stack = FontStack.build("foo");COMMENT
LOW…net/sourceforge/plantuml/klimt/font/FontStackTest.java41// @TestCOMMENT
LOW…net/sourceforge/plantuml/klimt/font/UFontFaceTest.java201// void toLegacyStylePreservesBold() {COMMENT
LOW…ceforge/plantuml/style/parser/MergedStyleNodeTest.java121 compositeTitle.getProperties().put(PName.FontSize, PrioritizedValue.light("999", Integer.MAX_VALUE));COMMENT
LOW…sourceforge/plantuml/style/parser/StyleParserTest.java21 // read a bare "Prop:value;Prop:value;" list straight at its Context's still-empty root,COMMENT
LOW…urceforge/plantuml/cli/RunRenderCrashExitCodeTest.java21// exit code, so PlantUML exited 0 while quietly writing a stack trace image instead of theCOMMENT
LOW…eforge/plantuml/gantt/ngm/math/LoadIntegratorTest.java361 // 2024-04-04T00:00(Thu) - 2024-04-05T00:00(Fri): load 1COMMENT
LOW…eforge/plantuml/gantt/ngm/math/LoadIntegratorTest.java401 LocalDateTime start = integrator.computeStart(end);COMMENT
LOW…t/sourceforge/plantuml/gantt/ngm/math/SegmentTest.java101 COMMENT
LOW…t/sourceforge/plantuml/gantt/ngm/math/SegmentTest.java121// COMMENT
LOW…t/sourceforge/plantuml/gantt/ngm/math/SegmentTest.java301// COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java41// // Zero functionsCOMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java81 COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java141 // 2024-08-08T00:00(Thu) - 2024-08-09T00:00(Fri): load 3/5COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java181 // Combined: Mon-Thu at 125% except July 4COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java221 COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java281 LoadIntegrator integrator = new LoadIntegrator(combined, totalLoad);COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java361 LocalDateTime end = integrator.computeEnd(start);COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java441 LocalDateTime end = integrator.computeEnd(start);COMMENT
LOW…lantuml/gantt/ngm/math/LoadIntegratorCombinedTest.java501 // 2024-12-23T00:00(Mon) - 2024-12-24T00:00(Tue): load 0 - shutdownCOMMENT
LOWsrc/test/java/test/vega/SvgCleaner.java61// "//@x1",COMMENT
LOWsrc/test/java/test/vega/VegaTest.java41 // against them, set the VEGA_FORCE_WRITE environment variable to "true"COMMENT
LOWsrc/test/java/com/plantuml/ubrex/SimpleTest.java21 assertEquals("hello", cut.match(TextNavigator.build("hello world")).getAcceptedMatch());COMMENT
LOWsrc/test/java/com/plantuml/ubrex/SimpleTest.java41//COMMENT
LOWsrc/test/java/com/plantuml/ubrex/SimpleTest.java61//COMMENT
LOWsrc/test/java/com/plantuml/ubrex/RangeTest.java41// cut.addPattern("he");COMMENT
LOWsrc/test/java/com/plantuml/ubrex/RangeTest.java61//COMMENT
LOWsrc/test/java/com/plantuml/ubrex/RangeTest.java81// // For input "dou", no match should be found (since 'd' is not in the rangeCOMMENT
LOWsrc/main/teavm/web/GITHUB_INTEGRATION.md321 // path: the local file name the directive asks for, after variables areCOMMENT
LOWsrc/main/teavm/web-wasm/plantuml-wasm.js1// plantuml-wasm.js -- EXPERIMENTAL Wasm GC flavour of plantuml.jsCOMMENT
LOWsrc/main/teavm/web-wasm/plantuml-wasm.js21// elements waiting for a render() show that message, and the next call loads aCOMMENT
LOWsrc/main/java/net/sourceforge/plantuml/StringUtils.java321 public static boolean isCJK(char c) {COMMENT
LOWsrc/main/java/net/sourceforge/plantuml/StringUtils.java341// final int len = s.length();COMMENT
LOWsrc/main/java/net/sourceforge/plantuml/StringUtils.java361// }COMMENT
LOWsrc/main/java/net/sourceforge/plantuml/StringUtils.java381 public static boolean isDiagramCacheable(String uml) {COMMENT
LOWsrc/main/java/net/sourceforge/plantuml/StringUtils.java401//// if (uml.startsWith("@startuml\ncheckversion")) {COMMENT
LOWsrc/main/java/net/sourceforge/plantuml/StringUtils.java501 }COMMENT
LOW…ain/java/net/sourceforge/plantuml/NewpagedDiagram.java161 for (UgDiagram d : diagrams) {COMMENT
LOW…ain/java/net/sourceforge/plantuml/BlockUmlBuilder.java61public final class BlockUmlBuilder implements DefinitionsContainer {COMMENT
LOW…/main/java/net/sourceforge/plantuml/TitledDiagram.java341 return getHeader();COMMENT
515 more matches not shown…
Verbosity Indicators34 hits · 70 pts
SeverityFileLineSnippetContext
LOW…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java198 // Step 1 : Compute (x1, y1)COMMENT
LOW⚡…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java219 // Step 2 : Compute (cx1, cy1)COMMENT
LOW⚡…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java229 // Step 3 : Compute (cx, cy) from (cx1, cy1)COMMENT
LOW⚡…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java237 // Step 4 : Compute the angleStart (angle1) and the angleExtent (dangle)COMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java50 // Step 1: Skip any separator characters (whitespace or commas)COMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java57 // Step 2: If the next character is a command letter (e.g. M, L, C...), isolateCOMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java67 // Step 3: Handle optional sign for the mantissaCOMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java72 // Step 4: Read mantissa (digits with optional dot, only one allowed)COMMENT
LOW…et/sourceforge/plantuml/openiconic/StringDecipher.java92 // Step 5: Optionally parse scientific notation (e.g. 1.2e-3)COMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java112 // Step 6: Store the parsed numeric tokenCOMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java115 // Step 7: Move forward in the inputCOMMENT
LOW⚡…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java69 // Step 1: Create destination imageCOMMENT
LOW⚡…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java79 // Step 2: Extract pixelsCOMMENT
LOW⚡…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java89 // Step 3: Compress pixels in placeCOMMENT
LOW…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java100 // Step 4: Write to destinationCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java140 // Step 1: Extract pixelsCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java151 // Step 2: Fill Cube555 structures with frequency countsCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java189 // Step 3: Build the final indexed imageCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java226 // Step 1: Build the palette from all non-empty cubesCOMMENT
LOW⚡…va/net/sourceforge/plantuml/png/quant/Quantify555.java247 // Step 2: Create output indexed imageCOMMENT
LOW⚡…va/net/sourceforge/plantuml/png/quant/Quantify555.java251 // Step 3: Replace each pixel in the source with its palette indexCOMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java900 // Step 1: compute (x1', y1') in the rotated coordinate system.COMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java906 // Step 2: if the radii are too small to reach both endpoints, scale themCOMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java915 // Step 3: center (cx', cy') in the rotated system.COMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java931 // Step 4: center (cx, cy) in the original system.COMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java937 // Step 5: start angle theta1 and sweep deltaTheta.COMMENT
LOW…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java950 // Step 6: split sweep into <= 90 degree slices and approximate eachCOMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java90 // Step 1: Choose the mode (encoding).COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java93 // Step 2: Append "bytes" into "dataBits" in appropriate encoding.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java96 // Step 3: Initialize QR code that can contain "dataBits".COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java100 // Step 4: Build another bit vector that contains header and data.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java117 // Step 5: Terminate the bits properly.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java120 // Step 6: Interleave data bits with error correction code.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java125 // Step 7: Choose the mask pattern and set to "qrCode".COMMENT
Structural Annotation Overuse34 hits · 70 pts
SeverityFileLineSnippetContext
LOW…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java198 // Step 1 : Compute (x1, y1)COMMENT
LOW⚡…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java219 // Step 2 : Compute (cx1, cy1)COMMENT
LOW⚡…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java229 // Step 3 : Compute (cx, cy) from (cx1, cy1)COMMENT
LOW⚡…ge/plantuml/klimt/drawing/g2d/ExtendedGeneralPath.java237 // Step 4 : Compute the angleStart (angle1) and the angleExtent (dangle)COMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java50 // Step 1: Skip any separator characters (whitespace or commas)COMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java57 // Step 2: If the next character is a command letter (e.g. M, L, C...), isolateCOMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java67 // Step 3: Handle optional sign for the mantissaCOMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java72 // Step 4: Read mantissa (digits with optional dot, only one allowed)COMMENT
LOW…et/sourceforge/plantuml/openiconic/StringDecipher.java92 // Step 5: Optionally parse scientific notation (e.g. 1.2e-3)COMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java112 // Step 6: Store the parsed numeric tokenCOMMENT
LOW⚡…et/sourceforge/plantuml/openiconic/StringDecipher.java115 // Step 7: Move forward in the inputCOMMENT
LOW⚡…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java69 // Step 1: Create destination imageCOMMENT
LOW⚡…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java79 // Step 2: Extract pixelsCOMMENT
LOW⚡…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java89 // Step 3: Compress pixels in placeCOMMENT
LOW…t/sourceforge/plantuml/png/quant/QuantifyPacked28.java100 // Step 4: Write to destinationCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java140 // Step 1: Extract pixelsCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java151 // Step 2: Fill Cube555 structures with frequency countsCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java189 // Step 3: Build the final indexed imageCOMMENT
LOW…va/net/sourceforge/plantuml/png/quant/Quantify555.java226 // Step 1: Build the palette from all non-empty cubesCOMMENT
LOW⚡…va/net/sourceforge/plantuml/png/quant/Quantify555.java247 // Step 2: Create output indexed imageCOMMENT
LOW⚡…va/net/sourceforge/plantuml/png/quant/Quantify555.java251 // Step 3: Replace each pixel in the source with its palette indexCOMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java900 // Step 1: compute (x1', y1') in the rotated coordinate system.COMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java906 // Step 2: if the radii are too small to reach both endpoints, scale themCOMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java915 // Step 3: center (cx', cy') in the rotated system.COMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java931 // Step 4: center (cx, cy) in the original system.COMMENT
LOW⚡…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java937 // Step 5: start angle theta1 and sweep deltaTheta.COMMENT
LOW…java/net/sourceforge/plantuml/openpdf/PdfGraphics.java950 // Step 6: split sweep into <= 90 degree slices and approximate eachCOMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java90 // Step 1: Choose the mode (encoding).COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java93 // Step 2: Append "bytes" into "dataBits" in appropriate encoding.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java96 // Step 3: Initialize QR code that can contain "dataBits".COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java100 // Step 4: Build another bit vector that contains header and data.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java117 // Step 5: Terminate the bits properly.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java120 // Step 6: Interleave data bits with error correction code.COMMENT
LOW⚡…/plantuml/com/google/zxing/qrcode/encoder/Encoder.java125 // Step 7: Choose the mask pattern and set to "qrCode".COMMENT
Decorative Section Separators14 hits · 38 pts
SeverityFileLineSnippetContext
MEDIUMtools/vega-c/run_vega_c.py87# ---------------------------------------------------------------------------STRING
MEDIUMtools/vega-c/run_vega_c.py89# ---------------------------------------------------------------------------STRING
MEDIUMtools/vega-c/run_vega_c.py153# ---------------------------------------------------------------------------STRING
MEDIUMtools/vega-c/run_vega_c.py155# ---------------------------------------------------------------------------STRING
MEDIUMtools/vega-c/run_vega_c.py289# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/vega-c/run_vega_c.py291# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/vega-c/run_vega_c.py457# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/vega-c/run_vega_c.py459# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/scripts/test-summary.sh16# ── Aggregate JUnit counters ────────────────────────────────────────COMMENT
MEDIUM.github/scripts/test-summary.sh33# ── Console output ──────────────────────────────────────────────────COMMENT
MEDIUM.github/scripts/test-summary.sh46# ── GitHub Job Summary ──────────────────────────────────────────────COMMENT
MEDIUM⚡.github/scripts/test-summary.sh76# ── Annotations ─────────────────────────────────────────────────────COMMENT
MEDIUM⚡.github/scripts/test-summary.sh84# ── Vega test summary ──────────────────────────────────────────────COMMENT
MEDIUM⚡.github/scripts/test-summary.sh94# ── Vega markdown summary on GitHub Job Summary ────────────────────COMMENT
Fake / Example Data22 hits · 22 pts
SeverityFileLineSnippetContext
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java181 " author: 'John Doe'" //CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java196 assertEquals("John Doe", info.get("author").asString());CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java210 " author: 'John Doe'", //CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java212 " street: '123 Main St'", //CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java233 assertEquals("John Doe", info.get("author").asString());CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java235 assertEquals("123 Main St", address.get("street").asString());CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java255 " author: 'John Doe'", //CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java257 " street: '123 Main St'", //CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java279 assertEquals("John Doe", info.get("author").asString());CODE
LOW…forge/plantuml/yaml/parser/YamlParserWithJsonTest.java281 assertEquals("123 Main St", address.get("street").asString());CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java180 " author: 'John Doe'"CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java194 assertEquals("John Doe", info.getMapValue("author").getValue());CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java208 " author: 'John Doe'",CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java210 " street: '123 Main St'",CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java228 assertEquals("John Doe", info.getMapValue("author").getValue());CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java229 assertEquals("123 Main St", address.getMapValue("street").getValue());CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java249 " author: 'John Doe'",CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java251 " street: '123 Main St'",CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java270 assertEquals("John Doe", info.getMapValue("author").getValue());CODE
LOW…t/sourceforge/plantuml/yaml/parser/YamlParserTest.java271 assertEquals("123 Main St", address.getMapValue("street").getValue());CODE
LOW…net/sourceforge/plantuml/yaml/parser/YamlLineTest.java57 assertEquals("John Doe", yamlLine.getValue());CODE
LOW…in/java/net/sourceforge/plantuml/json/JsonHandler.java43 * ["lorem ipsum"]COMMENT
Hyper-Verbose Identifiers8 hits · 8 pts
SeverityFileLineSnippetContext
LOWtools/generate-char-width-table.html36function measureAdvanceOneUnicodeBlock(unicodeBlock, fontFamily, fontSize) {CODE
LOWtools/lib/browser-cli.js36function parseNamedEnginesAndOptions(argv, defaults) {CODE
LOWsrc/main/teavm/web/main.js175function updateLivePreviewLocation(state) {CODE
LOWsrc/main/resources/svg/default.js2 function escapeForCssAttributeSelector(entityName) {CODE
LOWsrc/main/resources/svg/sequencediagram.js24 function disableFloatingHeaderDueToError() {CODE
LOWsrc/main/resources/svg/sequencediagram.js70 function createFloatingHeaderToggleButton(header) {CODE
LOWsrc/main/resources/svg/sequencediagram.js105 function updateFloatingHeaderPosition(floatingHeaderElement) {CODE
LOWsrc/main/resources/svg/sequencediagram.js158 function handleParticipantFilterClick(clickedParticipantElem) {CODE
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/perf-bench.yml46 # The harness always comes from the branch the workflow runs on, so old commits can beCOMMENT
MEDIUM.github/workflows/perf-bench.yml47 # benchmarked with the current harness.COMMENT
Slop Phrases3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMsrc/test/java/zdev/IntermediateTest_0000.java22Here is a simple example:CODE
MEDIUMsrc/test/java/zdev/Test_0.java22Here is a simple example:CODE
LOW…sourceforge/plantuml/argon2/algorithm/FillSegment.java72 /* Don't forget to generate the first block of addresses: */COMMENT
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtools/teavm-coroutines/check_no_coroutines.py71CODE
LOWtools/vega-c/run_vega_c.py176CODE
LOWtools/vega-c/run_vega_c.py389CODE
LOWtools/vega-c/run_vega_c.py473CODE
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtools/vega-c/run_vega_c.py255 except Exception:CODE
LOWtools/vega-c/run_vega_c.py521 except Exception as e: # a bug of this script must not stop the whole runCODE
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMsrc/main/teavm/stdlib/archimate.min.js6window.PLANTUML_STDLIB.archimate["_examples_/archimate_deployment"]="!include <archimate/Archimate>;skinparam defaultFonCODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…java/net/sourceforge/plantuml/teavm/js/UGraphicJs.java163 // TODO: implement comment supportCOMMENT