Repository Analysis

bleachbit/bleachbit

BleachBit system cleaner for Windows and Linux

16.3 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of bleachbit/bleachbit, a Python project with 6,736 GitHub stars. SynthScan v2.0 examined 59,233 lines of code across 240 source files, recording 865 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 16.3 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

16.3
Adjusted Score
16.3
Raw Score
100%
Time Factor
2026-08-26
Last Push
6.7K
Stars
Python
Language
59.2K
Lines of Code
240
Files
865
Pattern Hits
2026-08-29
Scan Date
0.04
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 10MEDIUM 44LOW 811

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 865 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers504 hits · 495 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py39def is_bleachbit_running_process(process_name, cmdline):CODE
LOWtests/TestExternalCommand.py63def wait_for_process_tree_windows(process, timeout=60, poll_interval=0.1):CODE
LOWtests/TestExternalCommand.py175 def _is_running_based_on_checks(self, is_process_running, window_open):CODE
LOWtests/TestExternalCommand.py351 def _get_shred_command_string(self, file_to_shred):CODE
LOWtests/TestExternalCommand.py385 def test_windows_explorer_context_menu_natural(self):CODE
LOWtests/TestExternalCommand.py397 def test_windows_explorer_context_menu_privilege_escalation(self):CODE
LOWtests/TestExternalCommand.py409 def test_context_menu_command_while_the_app_is_running(self):CODE
LOWtests/TestExternalCommand.py436 def _test_as_non_admin_with_context_menu_path(self, fn_prefix):CODE
LOWtests/TestExternalCommand.py446 def shell_execute_synchronous(lpVerb='', lpFile='', lpParameters='', nShow=''):CODE
LOWtests/TestExternalCommand.py485 def test_is_bleachbit_running_process(self):CODE
LOWtests/TestExternalCommand.py538 def test_wait_for_grandchild_process(self):CODE
LOWtests/TestTranslations.py79 def test_nsis_placeholders_match(self):CODE
LOWtests/TestGtkShim.py88 def test_unknown_error_includes_traceback_and_sysinfo(self):CODE
LOWtests/TestGtkShim.py104 def test_unknown_error_escapes_html_in_error_message(self):CODE
LOWtests/TestGtkShim.py126 def test_yes_writes_html_file(self):CODE
LOWtests/TestGtkShim.py139 def test_no_does_not_write_file(self):CODE
LOWtests/TestGtkShim.py159 def test_unknown_error_includes_traceback_in_html(self):CODE
LOWtests/TestGtkShim.py189 def test_valid_unicode_unchanged(self):CODE
LOWtests/TestGtkShim.py205 def test_restored_on_exception(self):CODE
LOWtests/TestGtkShim.py215 def test_restores_reference_identity(self):CODE
LOWtests/TestGtkShim.py263 def test_no_display_does_not_import_gtk_libraries(self):STRING
LOWtests/TestGtkShim.py297 def test_require_gtk_reports_deferred_import_failure(self):STRING
LOWtests/TestWipe.py37 def test_detect_orphaned_wipe_files(self):CODE
LOWtests/TestWipe.py110 def test_wipe_write_refuses_symlink(self):CODE
LOWtests/TestWipe.py131 def test_wipe_contents_windows_admin_reopen_refuses_symlink(self):CODE
LOWtests/TestWipe.py147 def test_wipe_contents_windows_admin_locked_fallback_refuses_symlink(self):CODE
LOWtests/TestWipe.py167 def test_wipe_contents_windows_admin_locked_fallback_still_works(self):CODE
LOWtests/TestWipe.py233 def test_wipe_name_when_basic_characters_exist(self):CODE
LOWtests/TestWipe.py262 def test_wipe_name_rejects_windows_invalid_names(self):CODE
LOWtests/TestWipe.py282 def test_wipe_name_allows_windows_reserved_names_on_linux(self):CODE
LOWtests/TestWipe.py294 def test_wipe_name_non_retryable_error(self):CODE
LOWtests/TestWipe.py375 def test_wipe_path_not_directory(self):CODE
LOWtests/TestWipe.py400 def test_wipe_path_tempfile_enametoolong_retry(self):CODE
LOWtests/TestWipe.py419 def test_wipe_path_write_enospc(self):CODE
LOWtests/TestWipe.py442 def test_wipe_path_write_persistent_edquot(self):CODE
LOWtests/TestWipe.py485 def test_wipe_path_fsync_edquot(self):CODE
LOWtests/TestWipe.py505 def test_wipe_path_write_efbig(self):CODE
LOWtests/TestWipe.py514 def test_wipe_path_flush_enospc(self):CODE
LOWtests/TestWipe.py533 def test_wipe_path_idle_yields_eta(self):CODE
LOWtests/TestWipe.py563 def test_wipe_path_cleanup_finally(self):CODE
LOWtests/TestGuiBasic.py28 def test_open_url_rejects_disallowed_scheme(self):CODE
LOWtests/TestGuiBasic.py47 def test_open_url_accepts_http_https(self):CODE
LOWtests/TestNsisUtilities.py31 def test_generate_add_remove_nsis_expressions(self):CODE
LOWtests/TestNsisUtilities.py63 def _generate_nsis_expressions(self, tree):CODE
LOWtests/TestNsisUtilities.py92 def _generate_nsis_expressions_helper(self, target_dir, tree, expected_install_expression,CODE
LOWtests/TestNsisUtilities.py117 def test_walk_with_parent_directory_and_filepaths(self):CODE
LOWtests/TestNsisUtilities.py122 def test_write_nsis_expressions_to_files(self):CODE
LOWtests/TestNsisUtilities.py167 def test_generate_delete_expressions(self):CODE
LOWtests/TestNsisUtilities.py244 def _generate_install_file_expression(cls, files):CODE
LOWtests/TestNsisUtilities.py249 def _generate_delete_expressions(cls, folder, files):CODE
LOWtests/TestNsisUtilities.py260 def _generate_setoutpath_expression(cls, dir, subdir):CODE
LOWtests/TestNsisUtilities.py264 def _generate_rmdir_expression(cls, dir, subdir):CODE
LOWtests/TestNsisUtilities.py268 def _generate_dir_subdir_expression(cls, command, dir, subdir):CODE
LOWtests/TestFileUtilities.py1091 def test_truncate_file_refuses_reparse_point(self):CODE
LOWtests/TestFileUtilities.py1100 def test_truncate_file_refuses_symlink(self):CODE
LOWtests/TestFileUtilities.py1110 def test_truncate_locked_file_refuses_symlink(self):CODE
LOWtests/TestFileUtilities.py248 def test_bytes_to_human_one_way(self):CODE
LOWtests/TestFileUtilities.py284 def test_bytes_to_human_roundtrip(self):CODE
LOWtests/TestFileUtilities.py299 def test_bytes_to_human_localization(self):CODE
LOWtests/TestFileUtilities.py310 def test_children_in_directory(self):CODE
444 more matches not shown…
Excessive Try-Catch Wrapping108 hits · 106 pts
SeverityFileLineSnippetContext
LOWtests/test_with_sudo.py114 except Exception as e:CODE
MEDIUMtests/test_with_sudo.py115 print(f"Error running sudo tests: {e}")CODE
LOWtests/TestNsisUtilities.py201 except Exception:CODE
MEDIUMtests/TestAll.py24 print(f'Error importing tests: {e}')CODE
LOWtests/TestFileUtilities.py1206 except Exception:CODE
LOWtests/TestWipePath.py279 except Exception:CODE
LOWtests/TestWipePath.py448 except Exception:CODE
MEDIUMtests/TestWipePath.py512 print(f"Error: unsupported filesystem(s): {', '.join(invalid)}")CODE
LOWtests/TestOptions.py654 except Exception as error:STRING
LOWtests/TestOptions.py660 except Exception as error:STRING
MEDIUMtests/TestOptions.py651def restore():CODE
MEDIUMtests/TestOptions.py657def set_option():CODE
LOWtests/TestProtectedPath.py462 except Exception:CODE
LOWtests/TestGeneral.py119 except Exception:CODE
LOWtests/common.py405 except Exception:CODE
MEDIUMtests/common.py397def check_exists(func, path):CODE
MEDIUMtests/TestWindowsWipe.py112 print(f"Error opening {path}: {e}")CODE
LOWbleachbit/Update.py129 except Exception:CODE
LOWbleachbit/Bootstrap.py36 except Exception as e:CODE
LOWbleachbit/Bootstrap.py122 except Exception:CODE
LOWbleachbit/Bootstrap.py129 except Exception:CODE
LOWbleachbit/Bootstrap.py168 except Exception:CODE
LOWbleachbit/Worker.py105 except Exception as e:CODE
LOWbleachbit/Worker.py410 except Exception:CODE
LOWbleachbit/Options.py189 except Exception:CODE
LOWbleachbit/Options.py299 except Exception:CODE
LOWbleachbit/Options.py496 except Exception:CODE
LOWbleachbit/Options.py543 except Exception:CODE
LOWbleachbit/Options.py555 except Exception:CODE
LOWbleachbit/GuiStartup.py162 except Exception as e:CODE
LOWbleachbit/GuiWindow.py274 except Exception as e:CODE
LOWbleachbit/GuiWindow.py288 except Exception as e:CODE
LOWbleachbit/GuiWindow.py736 except Exception:CODE
LOWbleachbit/GuiWindow.py810 except Exception:CODE
LOWbleachbit/GuiWindow.py1298 except Exception as e:CODE
LOWbleachbit/Command.py81 except Exception as e:CODE
LOWbleachbit/Command.py183 except Exception as e:CODE
LOWbleachbit/Unix.py72 except Exception as errormsg:CODE
LOWbleachbit/Unix.py343 except Exception as e:CODE
LOWbleachbit/Unix.py382 except Exception as e1:CODE
LOWbleachbit/Unix.py389 except Exception as e2:CODE
LOWbleachbit/Unix.py1068 except Exception as e:CODE
LOWbleachbit/FileUtilities.py387 except Exception:CODE
LOWbleachbit/Memory.py136 except Exception:CODE
LOWbleachbit/Memory.py200 except Exception:CODE
LOWbleachbit/Memory.py274 except Exception:CODE
LOWbleachbit/WindowsWipe.py707 except Exception:CODE
LOWbleachbit/WindowsWipe.py1139 except Exception as e:CODE
LOWbleachbit/WindowsWipe.py1183 except Exception:CODE
LOWbleachbit/GtkShim.py181 except Exception:CODE
LOWbleachbit/GtkShim.py258 except Exception as e:STRING
LOWbleachbit/GtkShim.py336 except Exception as e:CODE
LOWbleachbit/GtkShim.py383 except Exception as e:CODE
LOWbleachbit/Action.py456 except Exception as e:CODE
LOWbleachbit/Action.py466 except Exception as e:CODE
LOWbleachbit/Action.py590 except Exception as e:CODE
MEDIUMbleachbit/Action.py586def run_process():CODE
LOWbleachbit/GuiChaff.py173 except Exception as exc:CODE
LOWbleachbit/GuiChaff.py193 except Exception as exc:CODE
LOWbleachbit/Cleaner.py106 except Exception:CODE
48 more matches not shown…
Deep Nesting100 hits · 88 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py63CODE
LOWtests/TestExternalCommand.py137CODE
LOWtests/TestExternalCommand.py208CODE
LOWtests/TestTranslations.py28CODE
LOWtests/test_with_sudo.py33CODE
LOWtests/TestFileUtilities.py214CODE
LOWtests/TestFileUtilities.py894CODE
LOWtests/TestFileUtilities.py1181CODE
LOWtests/TestWinapp.py80CODE
LOWtests/TestCookie.py150CODE
LOWtests/TestOptions.py522CODE
LOWtests/TestOptions.py583CODE
LOWtests/TestCommon.py78CODE
LOWtests/TestProtectedPath.py447CODE
LOWtests/TestProtectedPath.py451CODE
LOWtests/TestGeneral.py254CODE
LOWtests/TestGeneral.py351CODE
LOWtests/TestSpecial.py343CODE
LOWtests/common.py640CODE
LOWtests/common.py350CODE
LOWtests/TestAction.py93CODE
LOWtests/TestAction.py137CODE
LOWtests/TestWindows.py759CODE
LOWtests/TestWindows.py874CODE
LOWtests/TestWindows.py986CODE
LOWtests/TestWindows.py1166CODE
LOWtests/TestNetwork.py202CODE
LOWtests/TestCLI.py250CODE
LOWtests/TestCLI.py428CODE
LOWtests/TestCLI.py438CODE
LOWtests/TestCLI.py448CODE
LOWtests/TestCLI.py459CODE
LOWtests/TestCLI.py470CODE
LOWtests/TestCLI.py508CODE
LOWtests/TestCLI.py520CODE
LOWtests/TestWindowsWipe.py332CODE
LOWtests/TestMemory.py52CODE
LOWtests/TestMemory.py65CODE
LOWtests/TestMemory.py300CODE
LOWtests/TestMemory.py495CODE
LOWtests/TestMemory.py523CODE
LOWtests/TestCleaner.py296CODE
LOWtests/TestCleaner.py350CODE
LOWbleachbit/Worker.py91CODE
LOWbleachbit/Worker.py164CODE
LOWbleachbit/Worker.py218CODE
LOWbleachbit/Worker.py268CODE
LOWbleachbit/GuiStartup.py239CODE
LOWbleachbit/GuiWindow.py396CODE
LOWbleachbit/GuiWindow.py629CODE
LOWbleachbit/GuiWindow.py669CODE
LOWbleachbit/GuiWindow.py986CODE
LOWbleachbit/Command.py160CODE
LOWbleachbit/Unix.py329CODE
LOWbleachbit/Unix.py88CODE
LOWbleachbit/Unix.py120CODE
LOWbleachbit/FileUtilities.py287CODE
LOWbleachbit/FileUtilities.py572CODE
LOWbleachbit/FileUtilities.py707CODE
LOWbleachbit/FileUtilities.py893CODE
40 more matches not shown…
Decorative Section Separators24 hits · 68 pts
SeverityFileLineSnippetContext
MEDIUMscripts/test_freebsd.sh316# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh318# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh79# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh81# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh166# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh168# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh222# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh224# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh239# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh241# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh261# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh263# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh345# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh347# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh369# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh371# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh393# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh397# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh410# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh412# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh434# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh436# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh447# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/test_freebsd.sh449# ---------------------------------------------------------------------------COMMENT
Over-Commented Block40 hits · 38 pts
SeverityFileLineSnippetContext
LOWrequirements.txt1# These are universal dependencies.COMMENT
LOWtests/TestWipePath.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestWinapp.py281 # 1=filename1 to place in fake environment (default=deleteme.log)COMMENT
LOWtests/TestWinapp.py401 # [1] = Whether .\deleteme.log should exist after cleaning (True=exists)COMMENT
LOWtests/TestCommand.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestLanguage.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestUpdate.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWtests/TestChaff.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Update.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Bootstrap.py101 import win32con # pylint: disable=import-errorCOMMENT
LOWbleachbit/Worker.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Options.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Command.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/GuiBasic.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Memory.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Log.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/FontCheckDialog.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/SystemInformation.py1COMMENT
LOWbleachbit/WindowsWipe.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/WindowsWipe.py1241 new_extents = get_extents(file_handle, True, file_name)COMMENT
LOWbleachbit/GuiPreferences.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/GuiChaff.py41 # when generating chaff (dummy) files. This option means "stop afterCOMMENT
LOWbleachbit/Cleaner.py201 # options for Linux and BSDCOMMENT
LOWbleachbit/Wipe.py501 # how much free space is left (should be near zero)COMMENT
LOWbleachbit/Language.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Network.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/CleanerML.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/DeepScan.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Special.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/Special.py501 # it splits the cmds string by ';' and bookmarked url couldCOMMENT
LOWbleachbit/GUI.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/ProtectedPath.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWbleachbit/General.py1# vim: ts=4:sw=4:expandtabCOMMENT
LOWscripts/install-deps.sh1#!/bin/shCOMMENT
LOWscripts/install-deps.sh21#COMMENT
LOWscripts/test_freebsd.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/test_freebsd.sh21# snapshot, seed ISO, SSH key, and VM metadata are kept in $CACHE_DIR/vm.COMMENT
LOWscripts/test_freebsd.sh41# DISPLAY/WAYLAND_DISPLAY), so bleachbit.GtkShim.is_gtk_available() returnsCOMMENT
LOWscripts/test_freebsd.sh61# install-deps.sh --dev block, going straight to copyingCOMMENT
LOWwindows/setup.py1041COMMENT
Cross-Language Confusion6 hits · 38 pts
SeverityFileLineSnippetContext
HIGHbleachbit/GuiWindow.py1025 self.status_bar.push(context_id, text)CODE
HIGHbleachbit/Special.py385 "where moz_bookmarks.id is null); "CODE
HIGHbleachbit/Special.py392 cmds += "update moz_places set visit_count=0, frecency=-1, last_visit_date=null;"CODE
HIGHbleachbit/Special.py399 "where moz_places.id is null); "CODE
HIGHbleachbit/Special.py410 "from moz_places where favicon_id is not null ); "CODE
HIGHbleachbit/Special.py472 "where fk is not null){filter}")CODE
Modern Structural Boilerplate34 hits · 34 pts
SeverityFileLineSnippetContext
LOWtests/TestNetwork.py37logger = logging.getLogger(__name__)CODE
LOWbleachbit/Update.py41logger = logging.getLogger(__name__)CODE
LOWbleachbit/Worker.py41logger = logging.getLogger(__name__)CODE
LOWbleachbit/Options.py43logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiStartup.py22logger = logging.getLogger(__name__)CODE
LOWbleachbit/Command.py44logger = logging.getLogger(__name__)CODE
LOWbleachbit/Unix.py28logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiBasic.py40logger = logging.getLogger(__name__)CODE
LOWbleachbit/FileUtilities.py36logger = logging.getLogger(__name__)CODE
LOWbleachbit/DesktopMenuOptions.py10logger = logging.getLogger(__name__)CODE
LOWbleachbit/Chaff.py21logger = logging.getLogger(__name__)CODE
LOWbleachbit/Memory.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/SystemInformation.py40logger = logging.getLogger(__name__)CODE
LOWbleachbit/WindowsWipe.py142logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiPreferences.py42logger = logging.getLogger(__name__)CODE
LOWbleachbit/GtkShim.py102logger = logging.getLogger(__name__)CODE
LOWbleachbit/Action.py31logger = logging.getLogger(__name__)CODE
LOWbleachbit/Cookie.py20logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiChaff.py25logger = logging.getLogger(__name__)CODE
LOWbleachbit/Cleaner.py38logger = logging.getLogger(__name__)CODE
LOWbleachbit/Wipe.py34logger = logging.getLogger(__name__)CODE
LOWbleachbit/CLI.py23logger = logging.getLogger(__name__)CODE
LOWbleachbit/GuiCookie.py25logger = logging.getLogger(__name__)CODE
LOWbleachbit/Language.py27logger = logging.getLogger(__name__)CODE
LOWbleachbit/Winapp.py24logger = logging.getLogger(__name__)CODE
LOWbleachbit/Network.py65logger = logging.getLogger(__name__)CODE
LOWbleachbit/CleanerML.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/Windows.py81logger = logging.getLogger(__name__)CODE
LOWbleachbit/Special.py40logger = logging.getLogger(__name__)CODE
LOWbleachbit/GUI.py36logger = logging.getLogger(__name__)CODE
LOWbleachbit/ProtectedPath.py45logger = logging.getLogger(__name__)CODE
LOWbleachbit/General.py39logger = logging.getLogger(__name__)CODE
LOWbleachbit/RecognizeCleanerML.py23logger = logging.getLogger(__name__)CODE
LOWwindows/setup.py39logger = logging.getLogger(__name__)CODE
Self-Referential Comments10 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMtests/TestFileUtilities.py545 # Create a normal directory and file inside the base directoryCOMMENT
MEDIUMtests/TestRecognizeCleanerML.py32 # Create a CleanerML file so list_cleanerml_files() returns a file,COMMENT
MEDIUMtests/TestCommon.py234 # Create a file in the current directoryCOMMENT
MEDIUMtests/TestSpecial.py814 # Create a valid SQLite databaseCOMMENT
MEDIUMtests/TestSystemInformation.py105 # Create a directory with Unicode characters that will have a short pathCOMMENT
MEDIUMtests/TestWorker.py78 # Create a file that physically exists at listing time.COMMENT
MEDIUMtests/TestCleaner.py511 # Create the fileCOMMENT
MEDIUMbleachbit/GuiCookie.py112 # Create the TreeViewCOMMENT
MEDIUMbleachbit/General.py331 # Define the current operating system.COMMENT
MEDIUMscripts/test_freebsd.sh317# Create a snapshot qcow2 backed by the cached image, then grow itCOMMENT
Redundant / Tautological Comments19 hits · 28 pts
SeverityFileLineSnippetContext
LOWtests/TestExternalCommand.py431 if p.poll() is None: # Check if process is still runningCODE
LOWtests/TestWipe.py42 # Set shred_drives to include our temp directoryCOMMENT
LOWtests/TestWindowsWipe.py328 # Close the file handle to release the lockCOMMENT
LOWtests/TestWorker.py169 # Open the file with a blocking handle that allows read/write but blocks delete.COMMENT
LOWbleachbit/GuiStartup.py36 # Check if old_version < target_versionCOMMENT
LOWbleachbit/GuiStartup.py287 # Check if any selected cleaning option has a warningCOMMENT
LOWbleachbit/GuiWindow.py329 # Check if splash screen is forced via environment variableCOMMENT
LOWbleachbit/GuiWindow.py922 # Check if this option has a cookie commandCOMMENT
LOWbleachbit/GuiWindow.py929 # Check if this is the system.custom optionCOMMENT
LOWbleachbit/GuiPreferences.py789 # Check if user already confirmed this pathCOMMENT
LOWbleachbit/Wipe.py163 # Set range to the entire filesystemCOMMENT
LOWbleachbit/Winapp.py454 # Check if this registry key is excluded (exact match or starts with exclusion)COMMENT
LOWbleachbit/Winapp.py459 # Check if the path matches the exclusion (exact match or starts with exclusion)COMMENT
LOWbleachbit/Windows.py518 # Check if this key is excludedCOMMENT
LOWbleachbit/Windows.py523 # Check if the key matches the exclusion (exact match or is a child of exclusion)COMMENT
LOWbleachbit/Windows.py547 # Check if any child keys are excludedCOMMENT
LOWbleachbit/ProtectedPath.py194 # Check if user path is a parent of protected pathCOMMENT
LOWbleachbit/ProtectedPath.py200 # Check if user path is a child of protected path (within depth)COMMENT
LOWwindows/setup.py238 # Check if target file exists and compare contentCOMMENT
Docstring Block Structure4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtests/TestExternalCommand.py64Wait for a process and its grandchildren to complete on Windows. This function handles the case where a child proceSTRING
HIGHbleachbit/FileUtilities.py708Execute SQL commands on SQLite database Args: path (str): Path to the SQLite database file cmds (stSTRING
HIGHbleachbit/Cookie.py158Process cookies with optional deletion based on keep list Args: path (str): Path to the cookies database fiSTRING
HIGHbleachbit/Network.py154Fetch a URL using requests library Args: url (str): URL to fetch content from max_retries (int, optSTRING
Unused Imports11 hits · 11 pts
SeverityFileLineSnippetContext
LOWtests/TestCommon.py189CODE
LOWtests/TestCommon.py190CODE
LOWtests/TestCommon.py187CODE
LOWtests/TestCommon.py183CODE
LOWtests/TestCommon.py185CODE
LOWbleachbit/__init__.py14CODE
LOWbleachbit/markovify/__init__.py3CODE
LOWbleachbit/markovify/__init__.py4CODE
LOWbleachbit/markovify/__init__.py4CODE
LOWbleachbit/markovify/__init__.py5CODE
LOWbleachbit/markovify/__init__.py6CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbleachbit/Constant.py38# Expert mode is an option in the preferences to relax guardrails.COMMENT
Example Usage Blocks2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/install-deps.sh8# Usage:COMMENT
LOWscripts/test_freebsd.sh44# Usage:COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/TestDesktopMenuOptions.py64 f.write('placeholder')CODE
AI Structural Patterns1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbleachbit/Winapp.py78CODE