Google's Material Design in XAML & WPF, for C# & VB.Net.
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).
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.
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.
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.
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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …MaterialDesignThemes.UITests/WPF/Theme/ThemeTests.g.cs | 3 | // This code was generated by MaterialDesignToolkit.ResourceGeneration. | COMMENT |
| HIGH | …MaterialDragablzMashUp/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …aterialDragablzMashUp/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …rialDesignThemes.Wpf/ResourceDictionaryExtensions.g.cs | 3 | // This code was generated by MaterialDesignToolkit.ResourceGeneration. | COMMENT |
| HIGH | src/MaterialDesignThemes.Wpf/ThemeExtensions.g.cs | 3 | // This code was generated by MaterialDesignToolkit.ResourceGeneration. | COMMENT |
| HIGH | src/MaterialDesignThemes.Wpf/Theme.g.cs | 3 | // This code was generated by MaterialDesignToolkit.ResourceGeneration. | COMMENT |
| HIGH | …terialDesignThemes.Wpf/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …erialDesignThemes.Wpf/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …terialDesign3.Demo.Wpf/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …erialDesign3.Demo.Wpf/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …terialDesignColors.Wpf/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …erialDesignColors.Wpf/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | src/MaterialDesignToolkit.ResourceGeneration/Brushes.cs | 18 | // This code was generated by MaterialDesignToolkit.ResourceGeneration. | COMMENT |
| HIGH | src/MainDemo.Wpf/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | src/MainDemo.Wpf/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …alDesignThemes.MahApps/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …lDesignThemes.MahApps/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/MaterialDesignThemes.Wpf.Tests/DialogHostTests.cs | 481 | //[Test] | COMMENT |
| LOW | tests/MaterialDesignThemes.Wpf.Tests/DialogHostTests.cs | 501 | // { | COMMENT |
| LOW | tests/MaterialDesignThemes.Wpf.Tests/DialogHostTests.cs | 521 | // await tcs.Task; | COMMENT |
| LOW | …c/MahMaterialDragablzMashUp/Properties/AssemblyInfo.cs | 1 | using System.Runtime.InteropServices; | COMMENT |
| LOW | …aterialDragablzMashUp/Properties/Resources.Designer.cs | 1 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/TreeViewAssist.cs | 41 | #endregion | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/Screen.cs | 321 | return new Screen((IntPtr)PRIMARY_MONITOR); | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/Screen.cs | 341 | /// </summary> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 1 | namespace MaterialDesignThemes.Wpf; | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 21 | => GetFirstDialogHost(window).ShowInternal(content, null, null, null); | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 41 | /// </summary> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 61 | /// <returns></returns> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 81 | COMMENT | |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 101 | /// Shows a dialog using the parent/ancestor <see cref="DialogHost"/> of the a given <see cref="DependencyObject"/>. | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 121 | /// <returns></returns> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 141 | /// <param name="childDependencyObject">Dependency object which should be a visual child of a <see cref="DialogHost" | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHostEx.cs | 161 | /// <returns></returns> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/TextFieldAssist.cs | 21 | /// Sets the text box view margin. | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/TextFieldAssist.cs | 61 | /// <returns></returns> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/IHintProxy.cs | 1 | namespace MaterialDesignThemes.Wpf; | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs | 1 | namespace MaterialDesignThemes.Wpf; | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs | 21 | /// </summary> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs | 41 | /// <param name="actionHandler">Call back to be executed if user clicks the action button.</param> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/ISnackbarMessageQueue.cs | 61 | /// <param name="actionArgument">Argument to pass to <paramref name="actionHandler"/>.</param> | COMMENT |
| LOW | …c/MaterialDesignThemes.Wpf/PrefixSuffixHintBehavior.cs | 1 | namespace MaterialDesignThemes.Wpf; | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/TreeListView.cs | 61 | // if (element is TreeListViewItem treeListViewItem) | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/RippleAssist.cs | 21 | COMMENT | |
| LOW | src/MaterialDesignThemes.Wpf/DialogHost.cs | 81 | public static Task<object?> Show(object content) | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHost.cs | 101 | COMMENT | |
| LOW | src/MaterialDesignThemes.Wpf/DialogHost.cs | 121 | => Show(content, null, openedEventHandler, closingEventHandler, closedEventHandler); | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/DialogHost.cs | 141 | COMMENT | |
| LOW | src/MaterialDesignThemes.Wpf/DialogHost.cs | 161 | => Show(content, dialogIdentifier, openedEventHandler, closingEventHandler, null); | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/PopupBox.cs | 21 | /// <summary> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/PopupBox.cs | 41 | /// <summary> | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/PopupBox.cs | 61 | } | COMMENT |
| LOW | src/MaterialDesignThemes.Wpf/PrefixSuffixVisibility.cs | 1 | namespace MaterialDesignThemes.Wpf; | COMMENT |
| LOW | …c/MaterialDesignThemes.Wpf/SnackbarMessageQueueItem.cs | 21 | COMMENT | |
| LOW | …MaterialDesignThemes.Wpf/Internal/Shims/NotNullWhen.cs | 1 | | COMMENT |
| LOW | …MaterialDesignThemes.Wpf/Internal/Shims/NotNullWhen.cs | 21 | ReturnValue = returnValue; | COMMENT |
| LOW | …nverters/FloatingHintInitialVerticalOffsetConverter.cs | 1 | using System.Globalization; | COMMENT |
| LOW | …erialDesignThemes.Wpf/Properties/Resources.Designer.cs | 1 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | src/MaterialDesign3.Motion/AnimationSpec.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/AnimationEndReason.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/Easing.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/SpringConstants.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/SpringConstants.cs | 21 | public const float StiffnessMediumLow = 400f; | COMMENT |
| LOW | src/MaterialDesign3.Motion/AnimationParameters.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/AnimationParameters.cs | 21 | /// </remarks> | COMMENT |
| LOW | src/MaterialDesign3.Motion/SpringMotionSpec.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/ArcSpline.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/CubicBezierEasing.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/CubicBezierEasing.cs | 21 | /// </param> | COMMENT |
| LOW | src/MaterialDesign3.Motion/RepeatMode.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/Repeatable.cs | 1 | namespace MaterialDesignThemes.Motion; | COMMENT |
| LOW | src/MaterialDesign3.Motion/Repeatable.cs | 21 | /// </remarks> | COMMENT |
| LOW | src/web/scripts/react.js | 1301 | // In modern browsers (i.e., not IE8 or IE9), the input event is exactly | COMMENT |
| LOW | src/MaterialDesign3.Demo.Wpf/Properties/AssemblyInfo.cs | 1 | using System.Runtime.InteropServices; | COMMENT |
| LOW | …erialDesign3.Demo.Wpf/Properties/Resources.Designer.cs | 1 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | …erialDesignColors.Wpf/Properties/Resources.Designer.cs | 1 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | …erialDesignColors.Wpf/ColorManipulation/ColorAssist.cs | 1 | using System.Windows.Media; | COMMENT |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/web/scripts/react.js | 3496 | function accumulateDirectDispatchesSingle(event) { | CODE |
| LOW⚡ | src/web/scripts/react.js | 3502 | function accumulateTwoPhaseDispatches(events) { | CODE |
| LOW⚡ | src/web/scripts/react.js | 3506 | function accumulateEnterLeaveDispatches(leave, enter, fromID, toID) { | CODE |
| LOW | src/web/scripts/react.js | 356 | function isFallbackCompositionStart(topLevelType, nativeEvent) { | CODE |
| LOW | src/web/scripts/react.js | 477 | function getNativeBeforeInputChars(topLevelType, nativeEvent) { | CODE |
| LOW | src/web/scripts/react.js | 531 | function getFallbackBeforeInputChars(topLevelType, nativeEvent) { | CODE |
| LOW | src/web/scripts/react.js | 1147 | function manualDispatchChangeEvent(nativeEvent) { | CODE |
| LOW | src/web/scripts/react.js | 1189 | function getTargetIDForChangeEvent( | CODE |
| LOW | src/web/scripts/react.js | 1244 | function startWatchingForValueChange(target, targetID) { | CODE |
| LOW | src/web/scripts/react.js | 1261 | function stopWatchingForValueChange() { | CODE |
| LOW | src/web/scripts/react.js | 1308 | function handleEventsForInputEventIE( | CODE |
| LOW | src/web/scripts/react.js | 1334 | function getTargetIDForInputEventIE( | CODE |
| LOW | src/web/scripts/react.js | 3314 | function executeDispatchesInOrderStopAtTrueImpl(event) { | CODE |
| LOW | src/web/scripts/react.js | 3341 | function executeDispatchesInOrderStopAtTrue(event) { | CODE |
| LOW | src/web/scripts/react.js | 3441 | function accumulateDirectionalDispatches(domID, upwards, event) { | CODE |
| LOW | src/web/scripts/react.js | 3463 | function accumulateTwoPhaseDispatchesSingle(event) { | CODE |
| LOW | src/web/scripts/react.js | 3517 | function accumulateDirectDispatches(events) { | CODE |
| LOW | src/web/scripts/react.js | 4903 | function mapSingleChildIntoContext(traverseContext, child, name, i) { | CODE |
| LOW | src/web/scripts/react.js | 5516 | function mixStaticSpecIntoComponent(Constructor, statics) { | CODE |
| LOW | src/web/scripts/react.js | 5555 | function mergeIntoWithNoDuplicateKeys(one, two) { | CODE |
| LOW | src/web/scripts/react.js | 5586 | function createMergedResultFunction(one, two) { | CODE |
| LOW | src/web/scripts/react.js | 6192 | function getDeclarationErrorAddendum(component) { | CODE |
| LOW | src/web/scripts/react.js | 8456 | function updateOptionsIfPendingUpdateAndMounted() { | CODE |
| LOW | src/web/scripts/react.js | 9111 | function ReactDefaultBatchingStrategyTransaction() { | CODE |
| LOW | src/web/scripts/react.js | 10117 | function getDeclarationErrorAddendum() { | CODE |
| LOW | src/web/scripts/react.js | 10162 | function getCurrentOwnerDisplayName() { | CODE |
| LOW | src/web/scripts/react.js | 10408 | function checkAndWarnForMutatedProps(element) { | CODE |
| LOW | src/web/scripts/react.js | 10621 | function deregisterNullComponentID(id) { | CODE |
| LOW | src/web/scripts/react.js | 10768 | function TopLevelCallbackBookKeeping(topLevelType, nativeEvent) { | CODE |
| LOW | src/web/scripts/react.js | 11941 | function findDeepestCachedAncestorImpl(ancestorID) { | CODE |
| LOW | src/web/scripts/react.js | 11955 | function findDeepestCachedAncestor(targetID) { | CODE |
| LOW | src/web/scripts/react.js | 11997 | function batchedMountComponentIntoNode( | CODE |
| LOW | src/web/scripts/react.js | 13138 | function getComponentClassForElement(element) { | CODE |
| LOW | src/web/scripts/react.js | 13544 | function createChainableTypeChecker(validate) { | CODE |
| LOW | src/web/scripts/react.js | 13567 | function createPrimitiveTypeChecker(expectedType) { | CODE |
| LOW | src/web/scripts/react.js | 13628 | function createInstanceTypeChecker(expectedClass) { | CODE |
| LOW | src/web/scripts/react.js | 13662 | function createObjectOfTypeChecker(typeChecker) { | CODE |
| LOW | src/web/scripts/react.js | 13979 | function ReactReconcileTransaction() { | CODE |
| LOW | src/web/scripts/react.js | 14398 | function ReactServerRenderingTransaction(renderToStaticMarkup) { | CODE |
| LOW | src/web/scripts/react.js | 14485 | function getInternalInstanceReadyForUpdate(publicInstance, callerName) { | CODE |
| LOW | src/web/scripts/react.js | 14817 | function ReactUpdatesFlushTransaction() { | CODE |
| LOW | src/web/scripts/react.js | 15848 | function SyntheticCompositionEvent( | CODE |
| LOW | src/web/scripts/react.js | 17357 | function escapeTextContentForBrowser(text) { | CODE |
| LOW | src/web/scripts/react.js | 17456 | function flattenSingleChildIntoContext(traverseContext, child, name) { | CODE |
| LOW | src/web/scripts/react.js | 18023 | function getNodeForCharacterOffset(root, offset) { | CODE |
| LOW | src/web/scripts/react.js | 18069 | function getReactRootElementInContainer(container) { | CODE |
| LOW | src/web/scripts/react.js | 18145 | function getUnboundedScrollPosition(scrollable) { | CODE |
| LOW | src/web/scripts/react.js | 18290 | function instantiateReactComponent(node, parentCompositeType) { | CODE |
| LOW | src/web/scripts/react.js | 18875 | function quoteAttributeValueForBrowser(value) { | CODE |
| LOW | src/web/scripts/react.js | 19084 | function shouldUpdateReactComponent(prevElement, nextElement) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/web/scripts/react.js | 14841 | // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` | COMMENT |
| MEDIUM | src/web/scripts/react.js | 18954 | // children. Definitely want to avoid this. | COMMENT |
| MEDIUM | src/web/scripts/react.min.js | 12 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof defin | CODE |
| MEDIUM | src/web/scripts/react.min.js | 12 | !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof defin | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/MainDemo.Wpf/Domain/TabsViewModel.cs | 14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dictum eleifend tellus, quis accumsan neque facilisis ac. | CODE |
| LOW⚡ | src/MainDemo.Wpf/Domain/TabsViewModel.cs | 14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dictum eleifend tellus, quis accumsan neque facilisis ac. | CODE |
| LOW⚡ | src/MainDemo.Wpf/Domain/TabsViewModel.cs | 20 | Sed placerat sapien non quam fringilla fermentum. Nullam ex leo, condimentum sit amet magna vitae, condimentum volutpat | CODE |
| LOW⚡ | src/MainDemo.Wpf/Domain/TabsViewModel.cs | 20 | Sed placerat sapien non quam fringilla fermentum. Nullam ex leo, condimentum sit amet magna vitae, condimentum volutpat | CODE |