Sample

Dorn/cuda/5

Human rating uses the original dataset scale.

DatasetDorn
Human3.53
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
42.6Δ 23.4
Scalabrino0.4850–1; higher is more readable
39.9Δ 26.1
Dorn0.6280–1; higher is more readable
54.9Δ 11.1
Mi0.510–1; higher is more readable
52.6Δ 13.4
LLOC20Logical lines; fewer is more readable
32.5Δ 33.6
DeepSeek V4 Pro14.670–20; mean of three runs
74.1Δ 8.1
GPT-6.1 Sol150–20; mean of three runs
52.8Δ 13.2
BTTF0.4090–1; higher is more readable
25.3Δ 40.7
Human3.531–5; original rating
66.0

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.834.459−27.537
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.733−7.1

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

Score0.485

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.82.258+0.523
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.078+0.186
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.25−0.153
Indentation frequencyHow rapidly indentation changes from line to line.18−0.115
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.85+0.065
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.826+0.007

Intercept 0.07 + feature contributions = 0.522 (log-odds).
Score = sigmoid(0.522) = 0.628.

Score0.51
Score20
Run 1

The code demonstrates good structure with clear separation of concerns: a main function handling setup and a dedicated runTest function for test execution. Variable declarations are grouped logically at the start of runTest with descriptive names and default values, making intent clear. Code length is reasonable, though the single-line if statement containing two function calls slightly reduces readability. Nesting is minimal and flat. Action granularity is mostly one action per line. Reading flow is natural, with a clear progression from setup to execution to cleanup. The comment blocks effectively delineate sections. Minor improvements could include breaking the if statement into multiple lines for better action granularity and distinguishing variable declarations from defaults. Overall, the code is easily comprehensible and well-organized for its purpose.

Run 2

The code demonstrates moderate readability. Structure is logical with clear separation between main setup and test execution. Nesting is flat, which is positive. Intent is mostly clear - variables are descriptively named and the function purpose is documented. However, there are several issues: variable declarations are stacked without consistent grouping by purpose (device settings, mode flags, memory options all mixed together), the action granularity varies (multiple related bool declarations on separate lines when grouping would improve scanability), and reading flow is disrupted by the long comment dashes. The code is concise but could benefit from struct usage for related settings. Minor improvements like grouping related flags or using an options struct would improve clarity. The function signature is clean and the boolean defaults are explicit, which aids understanding.

Run 3

The code is moderately readable. Structure is clear with logical function separation and a comment header for runTest, but the parameter list and variable declarations are dense. Nesting is flat, which is good. Clarity of intent is adequate: variable names like 'htod', 'dtoh', and 'wc' are cryptic without context. Code length is reasonable but the long list of boolean flags suggests possible consolidation. Action granularity is mostly one action per line, though the shrQAFinishExit call packs multiple operations. Reading flow is natural for C code but suffers from the verbose mock-up of flags and modes. Overall, the code is understandable but could be improved with better naming, documentation of flags, and perhaps grouping related parameters into structs.

Run 1

Code Structure: Logging, test execution, cleanup, and argument defaults appear in logical order, though the snippet begins mid-function and ends before runTest's behavior is shown. Nesting: The visible code is flat and easy to scan. Clarity of intent: Comments, function names, and constants convey the overall purpose, but abbreviations such as htod, dtoh, dtod, and wc require domain knowledge. Code length: The snippet is concise, although numerous individual default declarations add some repetition. Action granularity: Each statement performs a single main action; the conditional exit status remains understandable within the function call. Reading flow: Execution proceeds naturally into test configuration, but inconsistent spacing, oversized separator comments, and uneven grouping of related variables slightly reduce readability.

Run 2

Code Structure: Logging, test execution, and argument defaults are logically grouped, but the excerpt begins mid-function and ends before runTest's behavior is shown. Nesting: The visible code is flat and easy to scan. Clarity of intent: Comments and names such as startDevice, DEFAULT_INCREMENT, and PAGEABLE communicate purpose, while htod, dtoh, dtod, and wc require domain knowledge. Code length: The excerpt is concise, though the long list of initializations is somewhat repetitive. Action granularity: Each statement generally performs one action; the inline pass/fail expression is compact and understandable. Reading flow: Execution proceeds naturally from setup to testing and completion, then into configuration defaults. Inconsistent spacing, mixed naming styles, and a prominent separator comment slightly reduce visual consistency.

Run 3

Code Structure: Logging, test execution, completion, and argument defaults are logically grouped, though the excerpt begins mid-function and ends before runTest's implementation. Nesting: The visible code is flat and easy to scan. Clarity of intent: Comments and function names explain the overall purpose, but abbreviations such as htod, dtoh, dtod, and wc require domain knowledge. Code length: The snippet is concise, although the long sequence of local declarations offers little functional context. Action granularity: Each statement occupies its own line, making individual actions clear. Reading flow: Execution proceeds naturally into test setup, but inconsistent spacing, oversized comment separators, and the incomplete function boundaries slightly interrupt readability.