Sample

Scalabrio161

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.56
Lines29

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
63.8Δ 18.3
Scalabrino0.4260–1; higher is more readable
38.7Δ 6.8
Dorn0.5210–1; higher is more readable
60.3Δ 14.8
Mi0.0740–1; higher is more readable
28.6Δ 16.8
LLOC17Logical lines; fewer is more readable
35.7Δ 9.8
DeepSeek V4 Pro150–20; mean of three runs
61.6Δ 16.1
GPT-6.1 Sol170–20; mean of three runs
58.5Δ 13.1
BTTF0.6740–1; higher is more readable
88.4Δ 43.0
Human3.561–5; original rating
45.5

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.754.433−24.896
Source linesThe number of non-empty source lines.29+11.6
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.195−6.292

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

Score0.426

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.113.966−1.162
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.114+1.035
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.05+0.458
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.27.73−0.022
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.29+0.01

Intercept 0.07 + feature contributions = 0.083 (log-odds).
Score = sigmoid(0.083) = 0.521.

Score0.074
Score17
Run 1

The code is structured logically for a test method but suffers from verbosity and redundant naming. The flat structure and one-action-per-line style aid readability, but the code length is excessive due to long variable names and repetitive stack trace checking logic. The intent is clear—verifying that the stack trace contains only the real cause—but the implementation could be more concise. The nested try-catch is minimal, and the reading flow is generally natural. However, the boolean flag approach feels clunky; using stream-based checks like `Arrays.stream(stackTrace).anyMatch(e -> e.getMethodName().equals(...))` would reduce length and improve clarity. Overall, readable but verbose, with no major structural issues.

Run 2

The code is moderately readable but has some issues. The test structure is logically organized with a clear try-catch pattern, and the intent to verify stack trace contents is understandable. However, the code suffers from verbose variable names that are overly long (e.g., 'stackTraceContainsTheRealCauseOfTheTimeout'), which hurts readability despite being descriptive. The boolean flag logic inside the loop is somewhat repetitive, and the loop iterates over all stack elements without early exit. Nesting is acceptable at two levels deep, and action granularity is mostly one action per line. The reading flow is natural, but the long variable names make it harder to scan quickly. More concise names like 'foundRealCause' and 'foundOtherCause' would improve clarity significantly.

Run 3

The code is well-structured with clear intent and good naming conventions. The test method follows a logical arrange-act-assert pattern with appropriate exception handling. Nesting is minimal (one try-catch block and one loop), maintaining flat readability. Action granularity is appropriate, with one meaningful operation per line. The boolean variable names are descriptive, making the assertions easy to understand. The code length is reasonable for the test's purpose - not overly verbose despite the long variable names. Reading flow is natural, progressing from setup through execution to verification. Minor deductions could apply for the lengthy assertion messages and boolean names being slightly verbose, but overall this is highly readable test code.

Run 1

Code Structure: Clearly organized into setup, execution, exception inspection, and assertions. Nesting: Moderate nesting from try/catch, a loop, and conditionals, but easy to follow. Clarity of intent: The test name, explanatory comment, and assertion messages clearly communicate the expected behavior; lengthy boolean names are descriptive but cumbersome. Code length: Reasonably concise, though repeated long identifiers and manual stack-trace scanning add verbosity. Action granularity: Each statement performs one distinct action, making execution easy to track. Reading flow: Natural progression from triggering the timeout to checking its stack trace. Catching a broad Exception slightly obscures which exception type is expected.

Run 2

Code Structure: Logically organized into setup, execution, exception inspection, and assertions. Nesting: Moderate try/catch, loop, and conditional nesting remains manageable. Clarity of intent: The test name, explanatory comment, and assertion messages clearly describe the expected behavior; lengthy boolean names are explicit but cumbersome. Code length: Mostly concise, though repeated flag checks and verbose identifiers add some bulk. Action granularity: Each line generally performs one action, making state changes easy to follow. Reading flow: Natural progression from triggering a timeout to checking its stack trace, with final assertions clearly separated. Catching a broad Exception slightly weakens clarity because the code does not explicitly verify that the caught exception is a timeout.

Run 3

Code Structure: Logically organized into setup, execution, exception inspection, and assertions. Nesting: Moderate nesting within the catch block, loop, and conditionals, but easy to follow. Clarity of intent: The descriptive test name, comment, and assertion messages clearly explain the expected behavior; variable names are precise but cumbersome. Code length: Reasonably concise, though repeated method-name checks and long boolean names add verbosity. Action granularity: Each statement performs one clear action, with no compressed or compound operations. Reading flow: Progresses naturally from triggering a timeout to verifying its stack trace. Catching a broad Exception slightly weakens clarity because it does not explicitly distinguish timeout exceptions from other failures.