Sample

Dorn/cuda/14

Human rating uses the original dataset scale.

DatasetDorn
Human3.03
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
19.8Δ 12.5
Scalabrino0.7140–1; higher is more readable
77.9Δ 45.6
Dorn0.1570–1; higher is more readable
10.6Δ 21.7
Mi0.0780–1; higher is more readable
10.0Δ 22.3
LLOC21Logical lines; fewer is more readable
29.7Δ 2.6
DeepSeek V4 Pro14.330–20; mean of three runs
69.9Δ 37.6
GPT-6.1 Sol150–20; mean of three runs
52.8Δ 20.5
BTTF0.4050–1; higher is more readable
25.1Δ 7.2
Human3.031–5; original rating
32.3

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.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.

Score0.714

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.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.

Score0.078
Score21
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.