Sample

Dorn/cuda/113

Human rating uses the original dataset scale.

DatasetDorn
Human2.86
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
17.8Δ 5.6
Scalabrino0.0810–1; higher is more readable
4.7Δ 18.7
Dorn0.4940–1; higher is more readable
42.9Δ 19.5
Mi0.4520–1; higher is more readable
44.6Δ 21.2
LLOC34Logical lines; fewer is more readable
5.4Δ 18.0
DeepSeek V4 Pro8.670–20; mean of three runs
32.7Δ 9.3
GPT-6.1 Sol12.330–20; mean of three runs
24.4Δ 1.0
BTTF0.30–1; higher is more readable
15.6Δ 7.8
Human2.861–5; original rating
23.4

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.1778.556−58.692
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.016−7.524

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

Score0.081

Feature contributions

FeatureValueContribution
(log-odds)
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.48−0.663
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.80.392+0.493
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.46.446+0.239
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.81.961+0.194
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.102−0.053

Intercept 0.07 + feature contributions = -0.025 (log-odds).
Score = sigmoid(-0.025) = 0.494.

Score0.452
Score34
Run 1

This code is difficult to read due to highly repetitive, vectorized operations with cryptic variable names like regP, regH0.w, regE1.z, and regSubScore. The structure is linear but lacks abstraction—each vector component is processed manually, creating long stretches of near-identical code. Nesting is minimal, which is good, but clarity of intent suffers because the algorithm’s purpose (likely Smith-Waterman or similar DP scoring) is not evident without domain knowledge. Action granularity is mostly one operation per line, but the heavy use of inline comments does not compensate for ambiguous naming. The reading flow is disrupted by frequent register component access and saturation arithmetic, making it hard to follow the data dependencies. Overall, the code is maintainable only by someone deeply familiar with the specific CUDA/GPU optimization context.

Run 2

The code is difficult to read due to heavy use of cryptic variable names (regP, regH0.w, regE1.z, regSubScore.x, etc.) and minimal explanatory context. While it follows a repetitive pattern that somewhat aids predictability, the lack of meaningful naming makes intent unclear. Nesting is flat, which is positive, and each line generally contains one action, but the overall structure is fragmented with dense vector component manipulations. Comments exist but are terse and do not clarify the algorithm's purpose. The code is concise but not self-documenting; the reader must infer meaning from context, which is challenging without domain knowledge. Action granularity is adequate, but reading flow is interrupted by frequent register saves and updates that are hard to follow. Overall, the code is maintainable only by someone intimately familiar with the specific GPU algorithm and register layout.

Run 3

The code uses repetitive blocks that suggest vectorized operations but suffers from unclear naming (e.g., regH0, regE0, regF, regT), mixed variable purposes, and heavy reliance on comments to explain low-level register manipulation. Structure is sequential and somewhat logical, but repetition harms readability and maintainability. Nesting is flat, which is good, and each line generally performs one action. However, the flow is disorganized due to the interleaving of score lookup, H/E/F updates, and scalar/vector component handling. The comments help, but the symbols remain ambiguous without external context.

Run 1

Code Structure: Repeated computation blocks are logically grouped, but lack abstractions that distinguish shared operations. Nesting: Completely flat, making execution order easy to follow. Clarity of intent: Segment comments provide context, but terse register names and comments referencing vecH/vecShift rather than actual variables obscure meaning. Code length: Substantial repetition increases length and maintenance burden, although it may reflect intentional GPU loop unrolling. Action granularity: Each line performs one assignment or update, which supports readability. Reading flow: Sequential segment progression and blank-line grouping are helpful, but inconsistent spacing, repetitive comments, and dependencies on overwritten temporary registers require careful tracking.

Run 2

Code Structure: Repeated update blocks are logically grouped, but duplication obscures the underlying algorithm. Nesting: Completely flat, with no nested control flow, making individual operations easy to follow. Clarity of intent: Comments identify update stages, but terse register names, unexplained algorithmic relationships, and references to vecShift rather than regF make the overall purpose less clear. Code length: The snippet is straightforward but repetitive; unrolled operations increase reading effort, even if appropriate for GPU performance. Action granularity: Each statement performs one assignment or update, with no compound statements on a line. Reading flow: Consistent operation ordering and segment markers support sequential reading, while uneven whitespace and repeated low-level state changes make tracking dependencies harder.

Run 3

Code Structure: Repeated update blocks are logically grouped, but duplication and inconsistent spacing weaken organization. Nesting: The code is entirely flat, making individual operations easy to follow. Clarity of intent: Comments identify vector segments and some updates, but abbreviated register names and unexplained algorithmic dependencies require domain knowledge; references to vecShift do not directly match the variable names. Code length: The repeated component-wise calculations make the snippet lengthy, although this may reflect intentional GPU loop unrolling. Action granularity: Each statement performs one assignment or update, with no compound statements obscuring execution. Reading flow: The consistent calculation sequence supports linear reading, but tracking changing register values across nearly identical blocks is mentally demanding.