Sample

Buse/24

Human rating uses the original dataset scale.

DatasetBuse
Human3.48
Lines7

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.7490–1; higher is more readable
80.8Δ 25.3
Scalabrino0.7830–1; higher is more readable
54.5Δ 1.0
Dorn0.7920–1; higher is more readable
80.8Δ 25.3
Mi0.6080–1; higher is more readable
57.6Δ 2.0
LLOC5Logical lines; fewer is more readable
29.8Δ 25.8
DeepSeek V4 Pro130–20; mean of three runs
38.4Δ 17.2
GPT-6.1 Sol150–20; mean of three runs
32.8Δ 22.7
BTTF0.6810–1; higher is more readable
89.9Δ 34.3
Human3.481–5; original rating
55.6

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)
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.234−6.352
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.128−4.224
Source linesThe number of non-empty source lines.7+2.8

Intercept 8.87 + feature contributions = 1.094 (log-odds).
Score = sigmoid(1.094) = 0.749.

Score0.783

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.51+1.505
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.8+0.753
Indentation frequencyHow rapidly indentation changes from line to line.6−0.53
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.6.827−0.314
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.07+0.257

Intercept 0.07 + feature contributions = 1.335 (log-odds).
Score = sigmoid(1.335) = 0.792.

Score0.608
Score5
Run 1

The code is concise and mostly readable. It has a clear purpose: normalizing a time value using a shared Calendar-like object. The structure is logical and flat, with minimal nesting. Each line performs one action, and the reading flow is natural. However, clarity is slightly reduced by the names 'tempCalDefault' and the methods 'setTimeInMillis', 'resetToTime', and 'getTimeInMillis', which assume familiarity with likely mutable date/time utilities. The synchronized block is straightforward but could benefit from a comment explaining why synchronization is necessary. Overall, the snippet is highly readable and maintainable for developers familiar with the surrounding utility class.

Run 2

The code is relatively readable. The method has a clear purpose (normalizing a time value) and each action within the synchronized block is on its own line, which is good for granularity. The structure is flat and simple with a single nested block. However, the use of a shared static 'tempCalDefault' object is slightly ambiguous — it isn't clear why this particular calendar instance is used or whether it is thread-safe by design. The method name 'getNormalisedTime' is clear, but the parameter 't' and the surrounding class context are missing. Overall the intent is understandable, but the hidden dependency on a static field lowers clarity slightly.

Run 3

The code is short and mostly flat, but suffers from unclear purpose and magic variables. The method name 'getNormalisedTime' is vague, and 'tempCalDefault' is a static shared object, suggesting hidden global state and potential concurrency pitfalls. The synchronized block adds complexity but lacks context about why it is necessary. The three actions inside are sequential and one-per-line, but the absence of comments or explanatory names makes the intent hard to discern. Overall, readability is low because the reader cannot easily understand what 'normalisation' means here or why a shared calendar is used.

Run 1

Code Structure: The statements form a logical sequence inside a synchronization block, but missing closing braces leave the snippet incomplete. Nesting: Only one nested block keeps complexity low. Clarity of intent: The method name indicates time normalization, although resetToTime does not explain the normalization rules and tempCalDefault is somewhat vague. Code length: The snippet is concise with no apparent redundancy. Action granularity: Each statement performs one action, making the operations easy to distinguish. Reading flow: Setting the time, resetting it, and returning the result provides a natural progression; the truncated ending disrupts completion.

Run 2

Code Structure: The method has a logical sequence of setting, resetting, and retrieving time, but the snippet lacks closing braces. Nesting: Only one synchronized block keeps nesting shallow. Clarity of intent: The method name suggests time normalization, though resetToTime does not explain what normalization entails. Code length: Short and free of unnecessary statements. Action granularity: Each statement performs one action on its own line. Reading flow: The operations read naturally in execution order, with whitespace separating the return from the updates; the incomplete ending interrupts the flow.

Run 3

Code Structure: The method follows a logical set-reset-return sequence, but missing closing braces make the snippet incomplete. Nesting: A single synchronized block keeps nesting shallow. Clarity of intent: The method name suggests time normalization, although resetToTime and tempCalDefault leave the exact transformation unclear. Code length: The implementation is concise with no unnecessary statements. Action granularity: Each statement performs one action. Reading flow: Consistent indentation and spacing support a natural top-to-bottom flow, though the abrupt ending interrupts it.