Sample
Dorn/cuda/14
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 19.8Δ 12.5 |
| Scalabrino | 0.714 | 0–1; higher is more readable | 77.9Δ 45.6 |
| Dorn | 0.157 | 0–1; higher is more readable | 10.6Δ 21.7 |
| Mi | 0.078 | 0–1; higher is more readable | 10.0Δ 22.3 |
| LLOC | 21 | Logical lines; fewer is more readable | 29.7Δ 2.6 |
| DeepSeek V4 Pro | 14.33 | 0–20; mean of three runs | 69.9Δ 37.6 |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs | 52.8Δ 20.5 |
| BTTF | 0.405 | 0–1; higher is more readable | 25.1Δ 7.2 |
| Human | 3.03 | 1–5; original rating | 32.3 |
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. | 1422 | −46.926 |
| Source linesThe number of non-empty source lines. | 30 | +12 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 4.905 | −7.358 |
Intercept 8.87 + feature contributions = -33.414 (log-odds).
Score = sigmoid(-33.414) = 0.
| Score | 0.714 |
|---|
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. | 174 | −3.705 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 174 | +2.003 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 27 | −0.199 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 27 | +0.197 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 31 | −0.061 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 29.88 | +0.008 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.096 | +0.008 |
Intercept 0.07 + feature contributions = -1.679 (log-odds).
Score = sigmoid(-1.679) = 0.157.
| Score | 0.078 |
|---|
| Score | 21 |
|---|
Run 1
The code is generally readable but has some issues. Structure is logical with clear separation of helper function and kernel, though the fragment begins mid-function. Nesting is minimal and flat, which is good. Clarity of intent is mostly clear with well-named variables, but the purpose of the dot product operations and the overall ray projection algorithm isn't immediately obvious without more context. Code length is appropriate - not overly verbose. Action granularity is mixed: some lines combine multiple operations while others are properly separated. Reading flow is natural with good progression from setup to computation to output. The commented-out maxSteps calculation is distracting and should be removed or kept consistently. Variable declarations are somewhat repetitive with simple assignments. Overall, this is functional but could benefit from better documentation of the mathematical operations and cleanup of dead code.
Run 2
The code is moderately readable with clear variable naming and logical structure. It uses flat nesting with only one early return check, good action granularity (mostly one operation per line), and maintains consistent formatting. The intent is reasonably clear - it appears to be CUDA kernel code for backprojection. However, readability is reduced by the incomplete context (starting mid-function with a matrix-vector multiplication and ending abruptly), the commented-out maxSteps calculation, and redundant variable assignments (e.g., re-declaring parameters as local variables with underscores). The #define MAX_STEPS and commented code suggest incomplete refactoring. The transform function at the top lacks surrounding context, making its purpose unclear without the function signature. Overall the code follows good practices but needs cleanup of dead code and better context for full readability.
Run 3
The code is generally readable with clear variable naming and logical organization, but has several issues. The structure is mostly flat with good separation of concerns, though there's an unused commented line that hints at confusion. Variable declarations at the top are clear but somewhat verbose. The math operations in the first section are straightforward but lack context about the matrix transformation purpose. The CUDA kernel setup is clear with good naming conventions, but the unused variables (boxMin, boxMax, maxSteps) suggest incomplete implementation. The pixel-to-normalized coordinate conversion is clear but could be more concise. Overall, the code is readable but has unfinished elements and some redundancy that reduce its clarity.
Run 1
Code Structure: The kernel follows a logical sequence of parameter aliases, bounds setup, thread indexing, bounds checking, and coordinate normalization, though the opening fragment lacks context. Nesting: Flat code with a single early-return guard is easy to follow. Clarity of intent: Descriptive names and comments explain detector indexing and normalization, but abbreviated names, redundant aliases, and the unexplained MAX_STEPS constant reduce clarity. Code length: Mostly concise, although copying parameters into local constants adds verbosity and the obsolete commented-out formula creates clutter. Action granularity: Each statement performs one action, making individual steps easy to inspect. Reading flow: Execution proceeds naturally, but inconsistent spacing, mixed naming conventions, a long function signature, and excessive blank lines interrupt readability.
Run 2
Code Structure: The kernel follows a logical sequence of parameter aliases, bounding-box setup, pixel indexing, bounds checking, and coordinate normalization, but the opening fragment lacks context. Nesting: Flat code with an early return is easy to scan. Clarity of intent: Descriptive names and comments explain most operations, though abbreviations, unused setup variables in the excerpt, and a stale commented-out formula introduce ambiguity. Code length: Generally concise, but redundant parameter aliases add unnecessary lines, and the long function signature is harder to read. Action granularity: Each statement performs a single assignment or check, with no crowded multi-action lines. Reading flow: The progression is natural, but inconsistent spacing, mixed naming conventions, and the incomplete excerpt slightly disrupt readability.
Run 3
Code Structure: The kernel follows a logical sequence of parameter setup, bounds definition, pixel indexing, boundary checking, and coordinate normalization, although the opening fragment lacks context. Nesting: The code is flat, with a simple early return rather than nested conditions. Clarity of intent: Descriptive identifiers and comments explain most operations, but abbreviated variables and the unexplained MAX_STEPS reduce clarity. Code length: The excerpt is concise, though local aliases for parameters add repetition and the obsolete commented-out calculation adds clutter. Action granularity: Most lines perform one action; the inline conditional return is compact and understandable. Reading flow: Blank lines group related operations naturally, but inconsistent spacing, mixed naming conventions, and the long function signature slightly disrupt scanning.