Sample

Buse/86

Human rating uses the original dataset scale.

DatasetBuse
Human2.64
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0120–1; higher is more readable
18.2Δ 1.5
Scalabrino0.860–1; higher is more readable
80.3Δ 63.6
Dorn0.3110–1; higher is more readable
18.2Δ 1.5
Mi0.5850–1; higher is more readable
52.5Δ 35.9
LLOC4Logical lines; fewer is more readable
59.6Δ 42.9
DeepSeek V4 Pro7.670–20; mean of three runs
5.1Δ 11.6
GPT-6.1 Sol9.330–20; mean of three runs
2.0Δ 14.6
BTTF0.3360–1; higher is more readable
15.2Δ 1.5
Human2.641–5; original rating
16.7

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.327.886−10.82
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.321−6.482
Source linesThe number of non-empty source lines.10+4

Intercept 8.87 + feature contributions = -4.432 (log-odds).
Score = sigmoid(-4.432) = 0.012.

Score0.86

Feature contributions

FeatureValueContribution
(log-odds)
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.11+0.647
Indentation frequencyHow rapidly indentation changes from line to line.10−0.391
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.816−0.273
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.124−0.259
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.10+0.191
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.86+0.023

Intercept 0.07 + feature contributions = -0.796 (log-odds).
Score = sigmoid(-0.796) = 0.311.

Score0.585
Score4
Run 1

The code is minimally readable: it is concise and actions are separated per line, and the switch/default structure is clear. However, it has several readability problems. The method name `jjCanMove_1` is cryptic, and the parameters `hiByte`, `i1`, `i2`, `l1`, `l2` are opaque, forcing the reader to infer their meaning. The logic mixes a switch with a default that contains an if-return-true/false pattern; the if could be simplified to `return (jjbitVec1[i1] & l1) != 0L;`, but the current form adds unnecessary branching. The code omits documentation explaining the bit-vector logic or the role of `hiByte`. Overall, the structure is understandable but the lack of meaningful naming, comments, and overly terse logic make it challenging to read.

Run 2

The code is short but has several readability issues. The method name 'jjCanMove_1' is nondescript, and parameters like hiByte, i1, i2, l1, l2 lack semantic meaning, making intent unclear. The logic is simple but poorly structured: the default case uses an if-else pattern where a direct boolean return would be clearer. There is also a redundant 'else' after 'return true' that could be simplified. The switch only has one real case plus default, suggesting poor structural choices. While indentation and line breaks are consistent, the missing closing brace for the method and lack of comments further reduce clarity. The code is terse but not expressive, forcing the reader to infer purpose from context.

Run 3

The code is difficult to read due to several factors. The method name 'jjCanMove_1' and parameter names (hiByte, i1, i2, l1, l2) are opaque and give no indication of their purpose. The structure relies on magic numbers and bitwise operations with no context, making the intent unclear. While the nesting is shallow and the length is concise, readability suffers from the lack of semantic naming and the abrupt, unexplained logic. The switch statement handles only cases 0 and default, suggesting incomplete or poorly structured logic. Action granularity is adequate—one meaningful operation per line—but the overall flow feels disorganized because the reader cannot infer what the code is trying to achieve. The method returns boolean but mixes direct returns with an if-else that could be simplified, adding slight confusion. Without context, the bit vector checks with l1 and l2 feel arbitrary, further obscuring clarity.

Run 1

Code Structure: The switch separates the special case from the default logically, but missing closing braces make the snippet incomplete. Nesting: Shallow switch/if nesting is easy to follow. Clarity of intent: Bitmask checks are recognizable, but opaque names such as jjCanMove_1, i1, and l1 obscure their purpose. Code length: Short overall; the default branch could directly return the boolean expression. Action granularity: Each statement performs one action, supporting readability. Reading flow: The case order is natural, but inconsistent spacing, unnecessary parentheses, and incomplete syntax interrupt the flow.

Run 2

Code Structure: The switch organizes two cases logically, but missing closing braces make the snippet incomplete. Nesting: Shallow switch and if nesting is easy to follow. Clarity of intent: Bitmask checks are recognizable, but cryptic names such as jjCanMove_1, i1, and l2 obscure their purpose. Code length: Short, although the default branch could directly return the boolean expression. Action granularity: Each statement performs one action, supporting readability. Reading flow: Straightforward case-to-return flow, weakened by inconsistent spacing, redundant parentheses, and the abrupt ending.

Run 3

Code Structure: The switch cleanly separates two cases, but missing closing braces leave the snippet incomplete. Nesting: Shallow switch and conditional nesting is easy to follow. Clarity of intent: Bitmask checks are recognizable, but opaque names such as jjCanMove_1, i1, and l2 obscure their purpose. Code length: Short, though the default branch could directly return the boolean expression. Action granularity: Each line performs one operation or control-flow action. Reading flow: Straightforward case-by-case flow, weakened by inconsistent formatting, an unbraced conditional, and the abrupt ending.