Repository Analysis

MaterialDesignInXAML/MaterialDesignInXamlToolkit

Google's Material Design in XAML & WPF, for C# & VB.Net.

2.5 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of MaterialDesignInXAML/MaterialDesignInXamlToolkit, a C# project with 16,201 GitHub stars. SynthScan v2.0 examined 102,876 lines of code across 784 source files, recording 150 pattern matches distributed across 5 syntactic categories. The overall adjusted score of 2.5 places this repository in the Likely human-written 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).

2.5
Adjusted Score
2.5
Raw Score
100%
Time Factor
2026-07-10
Last Push
16.2K
Stars
C#
Language
102.9K
Lines of Code
784
Files
150
Pattern Hits
2026-07-14
Scan Date
0.02
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 17MEDIUM 4LOW 129

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 150 distinct pattern matches across 5 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.

Synthetic Comment Markers17 hits · 128 pts
SeverityFileLineSnippetContext
HIGH…MaterialDesignThemes.UITests/WPF/Theme/ThemeTests.g.cs3// This code was generated by MaterialDesignToolkit.ResourceGeneration.COMMENT
HIGH…MaterialDragablzMashUp/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…aterialDragablzMashUp/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…rialDesignThemes.Wpf/ResourceDictionaryExtensions.g.cs3// This code was generated by MaterialDesignToolkit.ResourceGeneration.COMMENT
HIGHsrc/MaterialDesignThemes.Wpf/ThemeExtensions.g.cs3// This code was generated by MaterialDesignToolkit.ResourceGeneration.COMMENT
HIGHsrc/MaterialDesignThemes.Wpf/Theme.g.cs3// This code was generated by MaterialDesignToolkit.ResourceGeneration.COMMENT
HIGH…terialDesignThemes.Wpf/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…erialDesignThemes.Wpf/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…terialDesign3.Demo.Wpf/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…erialDesign3.Demo.Wpf/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…terialDesignColors.Wpf/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…erialDesignColors.Wpf/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGHsrc/MaterialDesignToolkit.ResourceGeneration/Brushes.cs18 // This code was generated by MaterialDesignToolkit.ResourceGeneration.COMMENT
HIGHsrc/MainDemo.Wpf/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGHsrc/MainDemo.Wpf/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…alDesignThemes.MahApps/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…lDesignThemes.MahApps/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
Over-Commented Block75 hits · 74 pts
SeverityFileLineSnippetContext
LOWtests/MaterialDesignThemes.Wpf.Tests/DialogHostTests.cs481 //[Test]COMMENT
LOWtests/MaterialDesignThemes.Wpf.Tests/DialogHostTests.cs501 // {COMMENT
LOWtests/MaterialDesignThemes.Wpf.Tests/DialogHostTests.cs521 // await tcs.Task;COMMENT
LOW…c/MahMaterialDragablzMashUp/Properties/AssemblyInfo.cs1using System.Runtime.InteropServices;COMMENT
LOW…aterialDragablzMashUp/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWsrc/MaterialDesignThemes.Wpf/TreeViewAssist.cs41 #endregionCOMMENT
LOWsrc/MaterialDesignThemes.Wpf/Screen.cs321 return new Screen((IntPtr)PRIMARY_MONITOR);COMMENT
LOWsrc/MaterialDesignThemes.Wpf/Screen.cs341 /// </summary>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs1namespace MaterialDesignThemes.Wpf;COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs21 => GetFirstDialogHost(window).ShowInternal(content, null, null, null);COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs41 /// </summary>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs61 /// <returns></returns>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs81COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs101 /// Shows a dialog using the parent/ancestor <see cref="DialogHost"/> of the a given <see cref="DependencyObject"/>.COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs121 /// <returns></returns>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs141 /// <param name="childDependencyObject">Dependency object which should be a visual child of a <see cref="DialogHost"COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHostEx.cs161 /// <returns></returns>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/TextFieldAssist.cs21 /// Sets the text box view margin.COMMENT
LOWsrc/MaterialDesignThemes.Wpf/TextFieldAssist.cs61 /// <returns></returns>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/IHintProxy.cs1namespace MaterialDesignThemes.Wpf;COMMENT
LOWsrc/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs1namespace MaterialDesignThemes.Wpf;COMMENT
LOWsrc/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs21 /// </summary>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs41 /// <param name="actionHandler">Call back to be executed if user clicks the action button.</param>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs61 /// <param name="actionArgument">Argument to pass to <paramref name="actionHandler"/>.</param>COMMENT
LOW…c/MaterialDesignThemes.Wpf/PrefixSuffixHintBehavior.cs1namespace MaterialDesignThemes.Wpf;COMMENT
LOWsrc/MaterialDesignThemes.Wpf/TreeListView.cs61 // if (element is TreeListViewItem treeListViewItem)COMMENT
LOWsrc/MaterialDesignThemes.Wpf/RippleAssist.cs21COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHost.cs81 public static Task<object?> Show(object content)COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHost.cs101COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHost.cs121 => Show(content, null, openedEventHandler, closingEventHandler, closedEventHandler);COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHost.cs141COMMENT
LOWsrc/MaterialDesignThemes.Wpf/DialogHost.cs161 => Show(content, dialogIdentifier, openedEventHandler, closingEventHandler, null);COMMENT
LOWsrc/MaterialDesignThemes.Wpf/PopupBox.cs21 /// <summary>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/PopupBox.cs41 /// <summary>COMMENT
LOWsrc/MaterialDesignThemes.Wpf/PopupBox.cs61}COMMENT
LOWsrc/MaterialDesignThemes.Wpf/PrefixSuffixVisibility.cs1namespace MaterialDesignThemes.Wpf;COMMENT
LOW…c/MaterialDesignThemes.Wpf/SnackbarMessageQueueItem.cs21COMMENT
LOW…MaterialDesignThemes.Wpf/Internal/Shims/NotNullWhen.cs1COMMENT
LOW…MaterialDesignThemes.Wpf/Internal/Shims/NotNullWhen.cs21 ReturnValue = returnValue;COMMENT
LOW…nverters/FloatingHintInitialVerticalOffsetConverter.cs1using System.Globalization;COMMENT
LOW…erialDesignThemes.Wpf/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOWsrc/MaterialDesign3.Motion/AnimationSpec.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/AnimationEndReason.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/Easing.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/SpringConstants.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/SpringConstants.cs21 public const float StiffnessMediumLow = 400f;COMMENT
LOWsrc/MaterialDesign3.Motion/AnimationParameters.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/AnimationParameters.cs21 /// </remarks>COMMENT
LOWsrc/MaterialDesign3.Motion/SpringMotionSpec.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/ArcSpline.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/CubicBezierEasing.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/CubicBezierEasing.cs21/// </param>COMMENT
LOWsrc/MaterialDesign3.Motion/RepeatMode.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/Repeatable.cs1namespace MaterialDesignThemes.Motion;COMMENT
LOWsrc/MaterialDesign3.Motion/Repeatable.cs21 /// </remarks>COMMENT
LOWsrc/web/scripts/react.js1301 // In modern browsers (i.e., not IE8 or IE9), the input event is exactlyCOMMENT
LOWsrc/MaterialDesign3.Demo.Wpf/Properties/AssemblyInfo.cs1using System.Runtime.InteropServices;COMMENT
LOW…erialDesign3.Demo.Wpf/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOW…erialDesignColors.Wpf/Properties/Resources.Designer.cs1//------------------------------------------------------------------------------COMMENT
LOW…erialDesignColors.Wpf/ColorManipulation/ColorAssist.cs1using System.Windows.Media;COMMENT
15 more matches not shown…
Hyper-Verbose Identifiers50 hits · 36 pts
SeverityFileLineSnippetContext
LOWsrc/web/scripts/react.js3496function accumulateDirectDispatchesSingle(event) {CODE
LOWsrc/web/scripts/react.js3502function accumulateTwoPhaseDispatches(events) {CODE
LOWsrc/web/scripts/react.js3506function accumulateEnterLeaveDispatches(leave, enter, fromID, toID) {CODE
LOWsrc/web/scripts/react.js356function isFallbackCompositionStart(topLevelType, nativeEvent) {CODE
LOWsrc/web/scripts/react.js477function getNativeBeforeInputChars(topLevelType, nativeEvent) {CODE
LOWsrc/web/scripts/react.js531function getFallbackBeforeInputChars(topLevelType, nativeEvent) {CODE
LOWsrc/web/scripts/react.js1147function manualDispatchChangeEvent(nativeEvent) {CODE
LOWsrc/web/scripts/react.js1189function getTargetIDForChangeEvent(CODE
LOWsrc/web/scripts/react.js1244function startWatchingForValueChange(target, targetID) {CODE
LOWsrc/web/scripts/react.js1261function stopWatchingForValueChange() {CODE
LOWsrc/web/scripts/react.js1308function handleEventsForInputEventIE(CODE
LOWsrc/web/scripts/react.js1334function getTargetIDForInputEventIE(CODE
LOWsrc/web/scripts/react.js3314function executeDispatchesInOrderStopAtTrueImpl(event) {CODE
LOWsrc/web/scripts/react.js3341function executeDispatchesInOrderStopAtTrue(event) {CODE
LOWsrc/web/scripts/react.js3441function accumulateDirectionalDispatches(domID, upwards, event) {CODE
LOWsrc/web/scripts/react.js3463function accumulateTwoPhaseDispatchesSingle(event) {CODE
LOWsrc/web/scripts/react.js3517function accumulateDirectDispatches(events) {CODE
LOWsrc/web/scripts/react.js4903function mapSingleChildIntoContext(traverseContext, child, name, i) {CODE
LOWsrc/web/scripts/react.js5516function mixStaticSpecIntoComponent(Constructor, statics) {CODE
LOWsrc/web/scripts/react.js5555function mergeIntoWithNoDuplicateKeys(one, two) {CODE
LOWsrc/web/scripts/react.js5586function createMergedResultFunction(one, two) {CODE
LOWsrc/web/scripts/react.js6192function getDeclarationErrorAddendum(component) {CODE
LOWsrc/web/scripts/react.js8456function updateOptionsIfPendingUpdateAndMounted() {CODE
LOWsrc/web/scripts/react.js9111function ReactDefaultBatchingStrategyTransaction() {CODE
LOWsrc/web/scripts/react.js10117function getDeclarationErrorAddendum() {CODE
LOWsrc/web/scripts/react.js10162function getCurrentOwnerDisplayName() {CODE
LOWsrc/web/scripts/react.js10408function checkAndWarnForMutatedProps(element) {CODE
LOWsrc/web/scripts/react.js10621function deregisterNullComponentID(id) {CODE
LOWsrc/web/scripts/react.js10768function TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {CODE
LOWsrc/web/scripts/react.js11941function findDeepestCachedAncestorImpl(ancestorID) {CODE
LOWsrc/web/scripts/react.js11955function findDeepestCachedAncestor(targetID) {CODE
LOWsrc/web/scripts/react.js11997function batchedMountComponentIntoNode(CODE
LOWsrc/web/scripts/react.js13138function getComponentClassForElement(element) {CODE
LOWsrc/web/scripts/react.js13544function createChainableTypeChecker(validate) {CODE
LOWsrc/web/scripts/react.js13567function createPrimitiveTypeChecker(expectedType) {CODE
LOWsrc/web/scripts/react.js13628function createInstanceTypeChecker(expectedClass) {CODE
LOWsrc/web/scripts/react.js13662function createObjectOfTypeChecker(typeChecker) {CODE
LOWsrc/web/scripts/react.js13979function ReactReconcileTransaction() {CODE
LOWsrc/web/scripts/react.js14398function ReactServerRenderingTransaction(renderToStaticMarkup) {CODE
LOWsrc/web/scripts/react.js14485function getInternalInstanceReadyForUpdate(publicInstance, callerName) {CODE
LOWsrc/web/scripts/react.js14817function ReactUpdatesFlushTransaction() {CODE
LOWsrc/web/scripts/react.js15848function SyntheticCompositionEvent(CODE
LOWsrc/web/scripts/react.js17357function escapeTextContentForBrowser(text) {CODE
LOWsrc/web/scripts/react.js17456function flattenSingleChildIntoContext(traverseContext, child, name) {CODE
LOWsrc/web/scripts/react.js18023function getNodeForCharacterOffset(root, offset) {CODE
LOWsrc/web/scripts/react.js18069function getReactRootElementInContainer(container) {CODE
LOWsrc/web/scripts/react.js18145function getUnboundedScrollPosition(scrollable) {CODE
LOWsrc/web/scripts/react.js18290function instantiateReactComponent(node, parentCompositeType) {CODE
LOWsrc/web/scripts/react.js18875function quoteAttributeValueForBrowser(value) {CODE
LOWsrc/web/scripts/react.js19084function shouldUpdateReactComponent(prevElement, nextElement) {CODE
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMsrc/web/scripts/react.js14841 // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`COMMENT
MEDIUMsrc/web/scripts/react.js18954 // children. Definitely want to avoid this.COMMENT
MEDIUMsrc/web/scripts/react.min.js12!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof definCODE
MEDIUMsrc/web/scripts/react.min.js12!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof definCODE
Fake / Example Data4 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/MainDemo.Wpf/Domain/TabsViewModel.cs14Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dictum eleifend tellus, quis accumsan neque facilisis ac.CODE
LOWsrc/MainDemo.Wpf/Domain/TabsViewModel.cs14Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dictum eleifend tellus, quis accumsan neque facilisis ac.CODE
LOWsrc/MainDemo.Wpf/Domain/TabsViewModel.cs20Sed placerat sapien non quam fringilla fermentum. Nullam ex leo, condimentum sit amet magna vitae, condimentum volutpat CODE
LOWsrc/MainDemo.Wpf/Domain/TabsViewModel.cs20Sed placerat sapien non quam fringilla fermentum. Nullam ex leo, condimentum sit amet magna vitae, condimentum volutpat CODE