Sample

Dorn/cuda/32

Human rating uses the original dataset scale.

DatasetDorn
Human2.38
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
53.5Δ 44.3
Scalabrino0.090–1; higher is more readable
5.8Δ 3.4
Dorn0.260–1; higher is more readable
21.4Δ 12.3
Mi0.0560–1; higher is more readable
8.1Δ 1.1
LLOC6Logical lines; fewer is more readable
72.8Δ 63.6
DeepSeek V4 Pro50–20; mean of three runs
10.9Δ 1.7
GPT-6.1 Sol140–20; mean of three runs
41.4Δ 32.2
BTTF0.2050–1; higher is more readable
5.8Δ 3.3
Human2.381–5; original rating
9.2

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.418.339−13.805
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.499−8.248
Source linesThe number of non-empty source lines.10+4

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

Score0.09

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.157−2.985
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.157+1.729
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.11+0.647
Indentation frequencyHow rapidly indentation changes from line to line.5−0.564
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.747−0.274
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.104−0.066

Intercept 0.07 + feature contributions = -1.045 (log-odds).
Score = sigmoid(-1.045) = 0.26.

Score0.056
Score6
Run 1

This code is difficult to read due to excessive comments that obscure the actual logic, unclear variable names (deltaH vs deltaH2), and unexplained GPU kernel launches. The sequence of matrix operations lacks clear intent, leaving the reader to infer the algorithm from the math operations alone. While the lines are reasonably short and flat, the structure feels disorganized: commented-out code adds noise, and the relationship between variables is ambiguous. Action granularity is acceptable (one operation per line), but the natural reading flow is disrupted by the commented-out logic and the sudden switch from high-level matrix operations to low-level kernel calls. There is also no context or documentation explaining why certain operations are commented out or what the kernel 'UpdateMatrix_AE' does, making it hard to follow the algorithm.

Run 2

The code is difficult to read due to poor structure and lack of explanation. It contains commented-out lines that add confusion, ambiguous variable names (W, V, H, aux, deltaH, deltaH2), and multiple operations crammed together without clear separation. The action granularity is mixed: some lines perform one operation, while others launch complex CUDA kernels with long parameter lists. There is almost no documentation of intent, and the flow jumps between matrix operations and kernel launches without context. Nesting is shallow, which helps slightly, but the overall clarity is low. Code length is moderate, but the presence of dead code (commented blocks) makes it longer than necessary. The natural reading flow is disrupted by unclear naming and unexplained CUDA calls.

Run 3

The code suffers from several readability issues. The structure is unclear—commented-out code and unexplained operations make the purpose ambiguous. Nesting is minimal, but the code is disjointed. Variable names like W, V, H, deltaH, deltaH2, and aux are cryptic without context. The action granularity is inconsistent, with some lines performing complex operations and others simple calls. The reading flow is disrupted by commented-out lines and parallel implementations (Multiply vs kernel launch) with no explanation. The code length is not excessive, but the lack of clarity makes it hard to follow. Overall, the code requires domain knowledge and would benefit from comments explaining the algorithm steps and variable purposes.

Run 1

Code Structure: The operations form a coherent sequence for updating H, but commented-out alternatives clutter the active implementation. Nesting: The code is flat, with no nested control flow. Clarity of intent: The update comment and matrix operation names provide context, but abbreviated variables, unexplained transpose changes, and the opaque kernel name obscure the underlying calculation. Code length: The active code is concise, although obsolete comments add unnecessary length. Action granularity: Each statement performs one operation, making individual steps easy to distinguish. Reading flow: The computation proceeds sequentially, but the long kernel launch line and interspersed commented-out code interrupt scanning.

Run 2

Code Structure: The operations form a logically grouped update step, but commented-out alternatives introduce clutter. Nesting: The code is flat, with no nested control flow. Clarity of intent: The 'Update H' comment establishes the broad purpose, but abbreviated variables, unexplained intermediate calculations, and temporary in-place transposition make the details harder to understand. Code length: The active implementation is concise, although obsolete comments and long kernel-launch expressions reduce readability. Action granularity: Each active line performs one operation, making individual steps easy to distinguish. Reading flow: The sequence moves naturally from matrix calculations to the update kernel, but restoring W's transpose requires tracking mutable state, and dense CUDA launch syntax interrupts the flow.

Run 3

Code Structure: Operations form a coherent update sequence, but commented-out alternatives clutter the active logic. Nesting: The code is entirely flat and easy to scan. Clarity of intent: The 'Update H' comment establishes the goal, but abbreviated names such as aux and deltaH2 and unexplained transpose mutations obscure the mathematical intent. Code length: The active code is concise, although obsolete comments and the long kernel invocation add visual noise. Action granularity: Each active statement performs one main operation, with no compressed multi-statement lines. Reading flow: Execution proceeds naturally from matrix preparation to the update kernel, but understanding why W is transposed and restored requires contextual knowledge.