Sample
Dorn/cuda/32
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 53.5Δ 44.3 |
| Scalabrino | 0.09 | 0–1; higher is more readable | 5.8Δ 3.4 |
| Dorn | 0.26 | 0–1; higher is more readable | 21.4Δ 12.3 |
| Mi | 0.056 | 0–1; higher is more readable | 8.1Δ 1.1 |
| LLOC | 6 | Logical lines; fewer is more readable | 72.8Δ 63.6 |
| DeepSeek V4 Pro | 5 | 0–20; mean of three runs | 10.9Δ 1.7 |
| GPT-6.1 Sol | 14 | 0–20; mean of three runs | 41.4Δ 32.2 |
| BTTF | 0.205 | 0–1; higher is more readable | 5.8Δ 3.3 |
| Human | 2.38 | 1–5; original rating | 9.2 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.09 |
|---|
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.056 |
|---|
| Score | 6 |
|---|
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.