Sample

Dorn/cuda/38

Human rating uses the original dataset scale.

DatasetDorn
Human1.71
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
0.6Δ 0.6
Scalabrino0.2660–1; higher is more readable
18.2Δ 17.1
Dorn0.0240–1; higher is more readable
3.3Δ 2.2
Mi0.0170–1; higher is more readable
4.2Δ 3.1
LLOC1Logical lines; fewer is more readable
97.9Δ 96.8
DeepSeek V4 Pro3.670–20; mean of three runs
6.1Δ 5.0
GPT-6.1 Sol10.330–20; mean of three runs
12.0Δ 10.9
BTTF0.1440–1; higher is more readable
3.1Δ 1.9
Human1.711–5; original rating
1.1

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.4030.145−132.995
Source linesThe number of non-empty source lines.50+20
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.159−7.739

Intercept 8.87 + feature contributions = -111.864 (log-odds).
Score = sigmoid(-111.864) = 0.

Score0.266

Feature contributions

FeatureValueContribution
(log-odds)
Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names.145−2.476
Indentation frequencyHow rapidly indentation changes from line to line.48+0.923
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.51−0.769
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.48−0.681
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.49.863+0.287
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.124−0.263

Intercept 0.07 + feature contributions = -3.714 (log-odds).
Score = sigmoid(-3.714) = 0.024.

Score0.017
Score1
Run 1

This code is extremely difficult to read. The entire kernel is defined within a macro, resulting in zero indentation and no visual separation between logical sections. Lines are excessively long, packing multiple statements and operations together. Variable names like b0-b15, a-e are cryptic and provide no semantic meaning. The macro parameter 'length' obscures the kernel's purpose. Control flow (if/else, loops) is present but visually lost due to the flat, unindented structure. Action granularity is poor; multiple actions appear on single lines (e.g., 'a = reverse(a);b = reverse(b);...'). The reading flow is completely unnatural, forcing the reader to parse dense, unformatted blocks of code with no whitespace or comments to guide understanding. While some operations are logically grouped, the lack of formatting, descriptive names, and separation makes this code nearly unreadable.

Run 2

The code is extremely difficult to read due to a massive macro defining an entire CUDA kernel with backslash continuations. It has no meaningful indentation, deeply repetitive variable lists, and long single-line statements combining multiple operations. The granularity is poor, with several actions packed into single lines, and the intent is obscured by verbose parameter passing and hardcoded indexing arithmetic. While CUDA kernels handle many registers manually, this implementation sacrifices clarity entirely. The structure is linear but tangled, with minimal whitespace or comments. The reading flow is unnatural because readers must mentally parse macro expansion and repeated similar-looking parameter lists. Only basic variable names like 'password_index' and 'CurrentStep' are somewhat understandable, but most logic is cryptic. Overall it is functionally dense but practically unreadable without significant effort.

Run 3

This code is extremely difficult to read due to its macro-based generation approach, which obscures structure and intent. The entire kernel is defined within a multi-line macro, making it hard to identify boundaries, debug, or understand the control flow. The code lacks meaningful abstraction—most operations are raw bit manipulations and register assignments with cryptic variable names (b0-b15, a-e). Nesting is not the primary issue; rather, the dense, unformatted blocks and repetitive, low-level operations reduce clarity. Action granularity is poor, with multiple actions crammed into single lines and long, unbroken expressions. There is no logical separation of concerns, and the reading flow is disorganized, jumping between shared memory setup, index calculation, hashing, and output without structure. While some names like 'SHA_TRANSFORM' and 'LoadMD5RegistersFromGlobalMemory' hint at intent, the overall code is overly verbose and hard to follow, resembling generated or heavily optimized kernel code rather than maintainable source.

Run 1

Code Structure: Initialization, chain processing, and output are logically ordered, but a large macro obscures boundaries. Nesting: Mostly shallow, with a single loop and simple conditionals. Clarity of intent: Kernel and parameter names suggest SHA1 chain generation, but cryptic register names, unexplained bit manipulation, and MD5-named helpers require domain knowledge. Code length: Reasonable for the task, although repeated register lists and long expressions add visual bulk. Action granularity: Most lines perform one action, but five reversal assignments share one line, and declarations are crowded. Reading flow: Execution proceeds naturally from setup to processing to storage, but macro continuation markers, inconsistent spacing, poorly indented else contents, and absent explanatory comments interrupt readability.

Run 2

Code Structure: The kernel follows a logical setup, load, hash/reduce loop, and output sequence, but a large macro obscures function boundaries and organization. Nesting: Shallow nesting and an early return make control flow manageable. Clarity of intent: Descriptive kernel and parameter names help, but cryptic register names, unexplained bit manipulation, and MD5-named helpers within SHA1 code require specialized knowledge. Code length: Reasonably compact for its purpose, though repeated register lists and lengthy indexing expressions add visual clutter. Action granularity: Most lines perform one action, but five reversal assignments share a single line, and declarations are densely packed. Reading flow: Execution order is natural, but macro continuation characters, long lines, inconsistent spacing, and poor indentation in the final else block interrupt scanning.

Run 3

Code Structure: Initialization, bounds checking, chain iteration, and output handling are logically ordered, but wrapping the entire kernel in a macro obscures structure. Nesting: Shallow nesting and an early return keep control flow manageable. Clarity of intent: Descriptive kernel and helper names convey SHA1 chain generation, but terse register names, MD5-named helpers, and unexplained bit manipulation hinder understanding. Code length: Reasonably compact for the task, though repeated register lists and verbose constants create visual clutter. Action granularity: Most lines perform one action, but five reversal assignments share one line, and declarations group many variables. Reading flow: Execution follows a natural sequence, but macro continuation characters, long lines, inconsistent spacing, poor else-block indentation, and absent explanatory comments interrupt readability.