AI Slop Code RIsk Monitor

gaogaotiantian/viztracer

A debugging and profiling tool that can trace and visualize python code execution

8.3 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for gaogaotiantian/viztracer, a Python project with 7,754 GitHub stars. SynthScan examined 30,144 lines of code across 118 source files, recording 199 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 8.3 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

8.3
Adjusted Signal
8.3
Raw Pattern Score
100%
Time Factor
2026-09-26
Last Push
7.8K
Stars
Python
Language
30.1K
Lines of Code
118
Files
199
Pattern Hits
2026-10-12
Scan Date
0.09
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 23.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.6/100 · LOW

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

Agent Over-Engineering Ratio 18.0/100 · LOW

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

PR Review Velocity Impact 37.1/100 · MEDIUM

Which changes need focused human review? 199 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 11MEDIUM 13LOW 175

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 199 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.

Empty Error Handlers11 hits · 55 pts
SeverityFileLineSnippetContext
HIGHtests/package_env.py94except SkipTest:CODE
HIGHtests/util.py38except ValueError:CODE
HIGHtests/__init__.py12except ImportError:CODE
HIGHtests/test_regression.py76except Exception:CODE
HIGHsrc/viztracer/patch.py115except Exception: # pragma: no coverCODE
HIGHsrc/viztracer/viztracer.py250except Exception: # pragma: no coverCODE
HIGHsrc/viztracer/report_server.py168except KeyboardInterrupt:CODE
HIGHsrc/viztracer/report_server.py106except Exception: # pragma: no coverCODE
HIGHsrc/viztracer/report_server.py122except Exception:CODE
HIGHsrc/viztracer/report_server.py163except Exception:CODE
HIGHsrc/viztracer/main.py935except KeyboardInterrupt:CODE
Deep Nesting46 hits · 46 pts
SeverityFileLineSnippetContext
LOWtests/package_env.py53CODE
LOWtests/package_env.py86CODE
LOWtests/package_env.py87CODE
LOWtests/package_env.py88CODE
LOWtests/util.py23CODE
LOWtests/test_torch.py33CODE
LOWtests/test_torch.py87CODE
LOWtests/cmdline_tmpl.py33CODE
LOWtests/cmdline_tmpl.py101CODE
LOWtests/base_tmpl.py98CODE
LOWtests/test_performance.py142CODE
LOWtests/test_performance.py143CODE
LOWtests/test_performance.py144CODE
LOWsrc/viztracer/report_builder.py21CODE
LOWsrc/viztracer/report_builder.py100CODE
LOWsrc/viztracer/report_builder.py182CODE
LOWsrc/viztracer/report_builder.py252CODE
LOWsrc/viztracer/report_builder.py291CODE
LOWsrc/viztracer/report_builder.py322CODE
LOWsrc/viztracer/patch.py23CODE
LOWsrc/viztracer/patch.py156CODE
LOWsrc/viztracer/patch.py34CODE
LOWsrc/viztracer/patch.py105CODE
LOWsrc/viztracer/viewer.py454CODE
LOWsrc/viztracer/viewer.py68CODE
LOWsrc/viztracer/viewer.py302CODE
LOWsrc/viztracer/viewer.py431CODE
LOWsrc/viztracer/vizplugin.py58CODE
LOWsrc/viztracer/util.py119CODE
LOWsrc/viztracer/util.py144CODE
LOWsrc/viztracer/viztracer.py169CODE
LOWsrc/viztracer/viztracer.py475CODE
LOWsrc/viztracer/viztracer.py621CODE
LOWsrc/viztracer/vizcounter.py8CODE
LOWsrc/viztracer/report_server.py114CODE
LOWsrc/viztracer/functree.py48CODE
LOWsrc/viztracer/event_base.py27CODE
LOWsrc/viztracer/main.py386CODE
LOWsrc/viztracer/main.py580CODE
LOWsrc/viztracer/code_monkey.py30CODE
LOWsrc/viztracer/code_monkey.py84CODE
LOWsrc/viztracer/code_monkey.py145CODE
LOWsrc/viztracer/code_monkey.py271CODE
LOW…viztracer/attach_process/add_code_to_python_process.py138CODE
LOW…viztracer/attach_process/add_code_to_python_process.py264CODE
LOW…viztracer/attach_process/linux_and_mac/lldb_prepare.py36CODE
Hyper-Verbose Identifiers52 hits · 38 pts
SeverityFileLineSnippetContext
LOW⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡example/json/multithread.json1{"traceEvents": [{"ph": "M", "pid": 222323, "tid": 222323, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOWexample/src/gradient_descent.py64def calculate_hypothesis_value(example_no, data_set):CODE
LOWexample/src/gradient_descent.py77def summation_of_cost_derivative(index, end=m):CODE
LOWtests/test_basic.py272 def test_ignore_function_without_global_tracer(self):CODE
LOWtests/test_codemonkey.py20 def test_compile_empty_exception(self):CODE
LOWtests/test_codemonkey.py90 def test_get_assign_log_nodes(self):CODE
LOWtests/test_report_server.py23 def test_report_server_with_endpoint(self):CODE
LOWtests/test_report_server.py89 def test_server_shutdown_before_save(self):STRING
LOWtests/test_report_server.py108 def test_report_server_env_variable(self):STRING
LOWtests/test_report_server.py165 def test_report_server_devnull_stdin(self):STRING
LOWtests/test_report_server.py193 def test_invalid_report_server_argument(self):STRING
LOWtests/test_tracer.py154 def test_include_exclude_exception(self):CODE
LOWtests/test_multiprocess.py364 def test_subprocess_shell_true(self):STRING
LOWtests/test_multiprocess.py398 def test_nested_multiprocessing(self):STRING
LOWtests/test_multiprocess.py504 def test_multiprocessing_forkserver(self):STRING
LOWtests/test_multiprocess.py548 def test_nested_multiprosessing(self):STRING
LOWtests/test_multiprocess.py563 def test_multiprocessing_unique_name(self):STRING
LOWtests/test_multiprocess.py588 def test_multiprocessing_entry_limit(self):STRING
LOWtests/test_multiprocess.py605 def test_ignore_multiprocessing(self):STRING
LOWtests/test_multiprocess.py626 def test_multiprocessing_overload(self):STRING
LOWtests/test_multiprocess.py645 def test_multiprocessing_pool(self):STRING
LOWtests/test_multiprocess.py668 def test_multiprocessing_pool_with_pickle(self):STRING
LOWtests/test_multiprocess.py683 def test_multiprosessing_stack_depth(self):STRING
LOWtests/test_multiprocess.py700 def test_multiprocessing_daemon(self):STRING
LOWtests/test_multiprocess.py730 def test_multiprocessing_stack_depth(self):STRING
LOWtests/test_multiprocess.py790 def test_inline_hook_uninstall(self):STRING
LOWtests/test_multiprocess.py814 def test_inline_hook_uninstall_windows(self):STRING
LOWtests/test_cmdline.py531 def test_log_func_with_objprint(self):CODE
LOWtests/test_cmdline.py634 def test_align_combine_sync_marker(self):STRING
LOWtests/test_cmdline.py650 def expect_aligned_to_sync_marker(data):STRING
LOWtests/test_cmdline.py796 def test_pid_suffix_and_output(self):STRING
LOWtests/test_cmdline.py1015 def test_sanitize_function_name(self):STRING
LOWtests/test_invalid.py37 def test_generate_without_data(self):CODE
LOWtests/test_invalid.py54 def test_add_invalid_variable(self):CODE
LOWtests/test_viewer.py257 def test_use_external_processor(self):CODE
LOWtests/test_viewer.py271 def test_external_processor_version(self):CODE
LOWtests/test_logsparse.py230 def test_with_disabled_tracer(self):STRING
LOWtests/test_report_builder.py57 def test_get_source_from_filename(self):CODE
LOWtests/test_multithread.py164 def test_trace_after_thread_start(self):STRING
LOWtests/test_regression.py604 def test_child_process_exits_normally(self):STRING
LOWtests/test_regression.py612 def test_child_process_exits_abnormally(self):STRING
LOWtests/test_regression.py653 def test_threading_exit_order(self):STRING
LOWtests/test_regression.py676 def test_thread_exiting_after_finalize(self):STRING
LOW⚡tests/data/multithread.json1{"traceEvents":[{"ph":"M","pid":15853,"tid":15853,"name":"process_name","args":{"name":"MainProcess"}},{"ph":"M","pid":1CODE
LOWsrc/viztracer/viztracer.py259 def clean_report_server_process(self) -> None:CODE
LOWsrc/viztracer/main.py810 def _check_attach_availability(self) -> tuple[bool, str | None]:CODE
LOWsrc/viztracer/code_monkey.py123 def get_assign_targets_with_attr(self, node: ast.AST) -> list[ast.Attribute]:CODE
LOWsrc/viztracer/code_monkey.py206 def get_instrument_node_by_node(CODE
LOWsrc/viztracer/code_monkey.py360 def inline_transform_condition(self, re_match: re.Match) -> str:CODE
LOWsrc/viztracer/web_dist/service_worker.js221async function installAppVersionIntoCache(version) {CODE
LOW…viztracer/attach_process/add_code_to_python_process.py342def _win_write_to_shared_named_memory(python_code, pid):STRING
Self-Referential Comments7 hits · 21 pts
SeverityFileLineSnippetContext
MEDIUM⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
MEDIUM⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
MEDIUM⚡example/json/multithread.json1{"traceEvents": [{"ph": "M", "pid": 222323, "tid": 222323, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
MEDIUM⚡example/json/multithread.json1{"traceEvents": [{"ph": "M", "pid": 222323, "tid": 222323, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
MEDIUM⚡tests/data/multithread.json1{"traceEvents":[{"ph":"M","pid":15853,"tid":15853,"name":"process_name","args":{"name":"MainProcess"}},{"ph":"M","pid":1CODE
MEDIUM⚡tests/data/multithread.json1{"traceEvents":[{"ph":"M","pid":15853,"tid":15853,"name":"process_name","args":{"name":"MainProcess"}},{"ph":"M","pid":1CODE
MEDIUM…viztracer/attach_process/linux_and_mac/lldb_prepare.py1# This file is meant to be run inside lldbCOMMENT
Over-Commented Block21 hits · 21 pts
SeverityFileLineSnippetContext
LOWtests/modules/__init__.py1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0COMMENT
LOWdocs/source/conf.py1# Configuration file for the Sphinx documentation builder.COMMENT
LOWdocs/source/conf.py41# Add any Sphinx extension module names here, as strings. They can beCOMMENT
LOWsrc/viztracer/web_dist/service_worker.js1var service_worker = (function () {COMMENT
LOWsrc/viztracer/web_dist/service_worker.js21const CACHE_NAME = 'ui-perfetto-dev';COMMENT
LOWsrc/viztracer/web_dist/service_worker.js161 if (cachedRes) {COMMENT
LOWsrc/viztracer/web_dist/service_worker.js181// - The SW intercepts the GET request and returns the file previosly stored inCOMMENT
LOWsrc/viztracer/modules/snaptrace.c1// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0COMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h1// Header file providing new C API functions to old Python versions.COMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h21#include <Python.h>COMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h101 PyObject **_tmp_dst_ptr = _Py_CAST(PyObject**, &(dst)); \COMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h541COMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h861// gh-108014 added Py_IsFinalizing() to Python 3.13.0a1COMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h1201#endifCOMMENT
LOWsrc/viztracer/modules/pythoncapi_compat.h1221#if PY_VERSION_HEX < 0x030D00A6 && !defined(Py_CONSTANT_NONE)COMMENT
LOWsrc/viztracer/modules/quicktime.c1// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0COMMENT
LOWsrc/viztracer/modules/snaptrace.h1// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0COMMENT
LOWsrc/viztracer/modules/snaptrace.h21// SNAPTRACE_THREAD_PROTECT_START.COMMENT
LOWsrc/viztracer/modules/snaptrace.h41#define PY_MONITORING_EVENT_BRANCH 8COMMENT
LOWsrc/viztracer/modules/quicktime.h1// Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0COMMENT
LOWsrc/viztracer/modules/quicktime.h21#define QUICKTIME_RDTSCCOMMENT
Excessive Try-Catch Wrapping20 hits · 20 pts
SeverityFileLineSnippetContext
LOWtests/test_codemonkey.py25 except Exception as e:STRING
LOWtests/test_multiprocess.py341 except Exception:CODE
LOWtests/test_multiprocess.py662 except Exception as e:STRING
LOWtests/test_cmdline.py122except Exception:CODE
LOWtests/test_viewer.py156 except Exception:CODE
LOWtests/test_logsparse.py264 except Exception as e:STRING
LOWtests/test_report_builder.py194 except Exception as e:CODE
LOWtests/test_regression.py76 except Exception:CODE
LOWsrc/viztracer/report_builder.py249 except Exception:CODE
LOWsrc/viztracer/patch.py115 except Exception: # pragma: no coverCODE
LOWsrc/viztracer/viewer.py295 except Exception:CODE
MEDIUMsrc/viztracer/viewer.py292def run(self) -> None:CODE
LOWsrc/viztracer/util.py51 except Exception: # pragma: no coverCODE
LOWsrc/viztracer/viztracer.py250 except Exception: # pragma: no coverCODE
LOWsrc/viztracer/viztracer.py538 except Exception as exc:CODE
LOWsrc/viztracer/report_server.py106 except Exception: # pragma: no coverCODE
LOWsrc/viztracer/report_server.py122 except Exception:CODE
LOWsrc/viztracer/report_server.py163 except Exception:CODE
LOWsrc/viztracer/report_server.py186 except Exception as exc: # pragma: no coverCODE
MEDIUM…viztracer/attach_process/add_code_to_python_process.py202 print('Error listing dir: %s' % (libdir,))STRING
Unused Imports16 hits · 16 pts
SeverityFileLineSnippetContext
LOWexample/src/mcts_game.py1CODE
LOWtests/__init__.py5CODE
LOWtests/test_tracer.py186CODE
LOWtests/test_patch.py8CODE
LOWdocs/source/conf.py13CODE
LOWsrc/viztracer/patch.py4CODE
LOWsrc/viztracer/vizevent.py8CODE
LOWsrc/viztracer/vizplugin.py13CODE
LOWsrc/viztracer/viztracer.py156CODE
LOWsrc/viztracer/__init__.py7CODE
LOWsrc/viztracer/__init__.py8CODE
LOWsrc/viztracer/__init__.py8CODE
LOWsrc/viztracer/__init__.py8CODE
LOWsrc/viztracer/__init__.py9CODE
LOWsrc/viztracer/__init__.py9CODE
LOWsrc/viztracer/main.py505CODE
AI Slop Vocabulary7 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUM⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡example/json/multithread.json1{"traceEvents": [{"ph": "M", "pid": 222323, "tid": 222323, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡tests/data/multithread.json1{"traceEvents":[{"ph":"M","pid":15853,"tid":15853,"name":"process_name","args":{"name":"MainProcess"}},{"ph":"M","pid":1CODE
LOWsrc/viztracer/report_builder.py38 # before that they simply use the absolute timestamp which isCOMMENT
MEDIUMsrc/viztracer/web_dist/v52.0-6b9586def/stdlib_docs.json1[{"name": "android", "modules": [{"module_name": "android.app_process_starts", "data_objects": [{"name": "android_app_prCODE
LOW…viztracer/attach_process/add_code_to_python_process.py152 # For other platforms, just use the the same bitness of the process we're running in.STRING
Slop Phrases7 hits · 10 pts
SeverityFileLineSnippetContext
LOW⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡example/json/multithread.json1{"traceEvents": [{"ph": "M", "pid": 222323, "tid": 222323, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡tests/data/multithread.json1{"traceEvents":[{"ph":"M","pid":15853,"tid":15853,"name":"process_name","args":{"name":"MainProcess"}},{"ph":"M","pid":1CODE
MEDIUMsrc/viztracer/web_dist/v52.0-6b9586def/engine_bundle.js1var engine=function(){"use strict";function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"defaultCODE
LOWsrc/viztracer/web_dist/v52.0-6b9586def/engine_bundle.js1var engine=function(){"use strict";function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"defaultCODE
MEDIUM…viztracer/web_dist/v52.0-6b9586def/traceconv_bundle.js1var traceconv=function(){"use strict";function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"defaCODE
LOW…viztracer/web_dist/v52.0-6b9586def/traceconv_bundle.js1var traceconv=function(){"use strict";function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"defaCODE
Modern Structural Boilerplate4 hits · 4 pts
SeverityFileLineSnippetContext
LOWsrc/viztracer/patch.py313 def set_tracer(self, tracer: VizTracer | None) -> None:STRING
LOWsrc/viztracer/util.py65def set_same_line_print_end(end: str) -> None:CODE
LOWsrc/viztracer/viztracer.py322 def set_afterfork(self, callback: Callable, *args, **kwargs) -> None:CODE
LOWsrc/viztracer/__init__.py11__all__ = [CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOW⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
LOW⚡example/json/async_simple.json1{"traceEvents": [{"ph": "M", "pid": 222311, "tid": 222311, "name": "process_name", "args": {"name": "MainProcess"}}, {"pCODE
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/test_basic.py294 def my_function(n):CODE
LOWtests/test_multiprocess.py249def my_function(*args):CODE
LOWtests/test_regression.py296def my_function(*args):CODE
AI Structural Patterns3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/cmdline_tmpl.py101CODE
LOWsrc/viztracer/patch.py240CODE
LOWsrc/viztracer/viztracer.py34CODE