Sample

Buse/19

Human rating uses the original dataset scale.

DatasetBuse
Human3.55
Lines9

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.5270–1; higher is more readable
64.6Δ 6.1
Scalabrino0.7950–1; higher is more readable
59.1Δ 0.5
Dorn0.810–1; higher is more readable
86.9Δ 28.3
Mi0.8060–1; higher is more readable
94.9Δ 36.4
LLOC4Logical lines; fewer is more readable
59.6Δ 1.0
DeepSeek V4 Pro150–20; mean of three runs
60.6Δ 2.0
GPT-6.1 Sol15.670–20; mean of three runs
44.4Δ 14.1
BTTF0.5470–1; higher is more readable
58.6Δ 0.0
Human3.551–5; original rating
58.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)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.197.153−6.506
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.3.903−5.855
Source linesThe number of non-empty source lines.9+3.6

Intercept 8.87 + feature contributions = 0.109 (log-odds).
Score = sigmoid(0.109) = 0.527.

Score0.795

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.10+0.682
Indentation frequencyHow rapidly indentation changes from line to line.5−0.564
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.75.7+0.459
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.76+0.422
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.8.896−0.285
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.069+0.268

Intercept 0.07 + feature contributions = 1.45 (log-odds).
Score = sigmoid(1.45) = 0.81.

Score0.806
Score4
Run 1

The code demonstrates good readability through flat structure, clear naming conventions, and logical organization. Each line performs a single action (object instantiation and field assignments), maintaining good action granularity. The reading flow is natural, beginning with the core initialization and progressing to name and type assignments. The code is concise without unnecessary verbosity. However, the constructor appears incomplete (missing assignment of mainCols, refTable, refCols, deleteAction, and updateAction parameters), and there are no comments explaining the parameters or their constraints. The alignment of assignment operators improves visual scanning. Overall, the code is clear and well-structured, though the incomplete implementation and lack of parameter documentation prevent a higher score.

Run 2

The code is mostly readable. It starts with a clear constructor declaration and parameters. The body assigns fields directly, with one action per line, which is good. However, the alignment of the assignment operators using extra spaces (e.g., 'core =') is unusual and can hurt readability in some style guides. The comment 'temp constraint constructor' is vague and doesn't add much. The method is concise and flat, with no nesting. Overall, the logic is easy to follow, but the formatting detracts slightly.

Run 3

The code shows logical structure with a constructor initializing fields, and comments indicate intent. However, readability is reduced by parameter ordering that separates related columns and actions, unclear naming like 'mainCols' vs 'refCols', and lack of visibility into the 'core' object. The action granularity is acceptable but aligns fields in a way that may hinder natural flow. Overall, it is moderately readable but could be clearer with better parameter grouping and more descriptive names.

Run 1

Code Structure: The constructor and initialization statements are logically organized, but the snippet is incomplete. Nesting: Minimal nesting makes the visible code easy to scan. Clarity of intent: Constructor parameters and field assignments communicate constraint initialization, though the vague 'temp constraint constructor' comment and abbreviated names reduce clarity. Code length: The visible portion is concise, although the seven-parameter signature adds cognitive load. Action granularity: Each assignment occupies its own line. Reading flow: Consistent indentation, aligned assignments, and a neatly wrapped signature support natural reading; the missing remainder prevents assessing the constructor's overall flow.

Run 2

Code Structure: The constructor is logically organized, with a short comment followed by field initialization. Nesting: The visible code is flat, with no nested control flow. Clarity of intent: The constructor and assignments communicate initialization clearly, but the vague 'temp constraint constructor' comment and abbreviated names reduce clarity. Code length: The snippet is concise, although the seven-parameter signature adds reading effort. Action granularity: Each assignment performs one action on its own line. Reading flow: Consistent indentation, aligned assignments, and a wrapped parameter list make scanning easy. The snippet is incomplete, so the remaining constructor logic and overall flow cannot be assessed.

Run 3

Code Structure: The constructor is logically organized, with initialization statements grouped together, although the snippet is incomplete. Nesting: Flat, with no nested control flow. Clarity of intent: Constructor initialization is evident, but the vague 'temp constraint constructor' comment and abbreviated names provide limited context. Code length: Concise, with no unnecessary statements. Action granularity: Each assignment performs one action on its own line. Reading flow: The wrapped parameter list and aligned assignments are easy to scan, though the missing closing brace and unused parameters in the visible portion leave the overall purpose only partially established.