Sample

Scalabrio118

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.89
Lines35

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
29.1Δ 36.9
Scalabrino0.6130–1; higher is more readable
60.8Δ 5.3
Dorn0.4530–1; higher is more readable
50.8Δ 15.3
Mi0.5530–1; higher is more readable
78.9Δ 12.8
LLOC23Logical lines; fewer is more readable
15.8Δ 50.3
DeepSeek V4 Pro170–20; mean of three runs
90.2Δ 24.1
GPT-6.1 Sol170–20; mean of three runs
58.5Δ 7.5
BTTF0.5210–1; higher is more readable
45.2Δ 20.9
Human3.891–5; original rating
66.1

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.1233.593−40.709
Source linesThe number of non-empty source lines.35+14
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.186−7.779

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

Score0.613

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.64.943+0.915
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.33−0.336
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.65+0.244
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.121−0.238
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.35−0.203
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.33.833+0.063

Intercept 0.07 + feature contributions = -0.188 (log-odds).
Score = sigmoid(-0.188) = 0.453.

Score0.553
Score23
Run 1

The constructor is well-structured, with clear logical grouping: model setup, font/visual configuration, column sizing, scroll pane assembly, and layout. Nesting is minimal, and each line performs a single action, which aids readability. Intent is clear from method and variable names (e.g., `tableModel`, `checkCol`, `descCol`). The code is concise and avoids unnecessary verbosity, though it could benefit from a helper method to encapsulate table column configuration. There is one duplicate line (`table.setAutoResizeMode`) that slightly hurts flow. Overall, the code reads naturally from setup to layout, making it easy to follow.

Run 2

The code is fairly readable with clear intent and logical structure, constructing a table-based checklist tab. It mostly maintains flat nesting and one action per line. However, several issues reduce clarity: the super constructor call uses a hardcoded string, magic numbers (20, 30, 900, -1) lack explanation, and setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN) is redundantly called twice. Additionally, the code mixes direct configuration with method calls without helper extraction, slightly reducing readability. Overall, the code is understandable but could be improved with constants, removal of duplicates, and clearer grouping.

Run 3

The code is well-structured and highly readable. It follows a logical constructor flow: initialize model, configure table appearance, set column widths, add scroll pane, and assemble layout. Nesting is minimal, with only one level for a BorderLayout add call. Intent is clear—each block has a distinct purpose. Code length is concise and appropriate for the task. Action granularity is mostly one action per line, though a few lines (e.g., table.setAutoResizeMode called twice) could be consolidated. Reading flow is natural and easy to follow from top to bottom.

Run 1

Code Structure: Logically groups table initialization, appearance, column sizing, and layout, though the constructor handles several setup concerns. Nesting: Flat, with no conditionals or loops, making it easy to scan. Clarity of intent: Method calls clearly convey UI configuration; names such as checkCol and descCol are useful, while sp is less descriptive and numeric sizing values lack context. Code length: Appropriately concise overall, but setAutoResizeMode is unnecessarily repeated and the constructor comment adds little value. Action granularity: Each statement performs a single clear action, with sensible line wrapping. Reading flow: Progresses naturally from model setup to visual configuration and component assembly; blank lines help distinguish stages, although inconsistent indentation slightly reduces polish.

Run 2

Code Structure: Initialization is logically grouped into model setup, styling, column configuration, and layout, though helper methods could clarify these sections. Nesting: The constructor is flat, with no nested control flow. Clarity of intent: Descriptive API calls make the checklist UI setup clear, but abbreviated names such as sp and descCol, unexplained numeric dimensions, and a generic constructor comment reduce clarity. Code length: Mostly concise, although setAutoResizeMode is called twice unnecessarily. Action granularity: Each statement performs one main action, making individual operations easy to follow. Reading flow: Setup proceeds naturally from table configuration to container assembly and listener registration; blank lines support scanning, while inconsistent indentation slightly detracts from presentation.

Run 3

Code Structure: Initialization is logically grouped into model setup, table styling, column sizing, and layout configuration. Nesting: The constructor is flat, with no nested control flow. Clarity of intent: Descriptive API calls make its purpose clear, although 'sp', unexplained numeric sizing values, and a generic constructor comment provide limited context. Code length: Concise overall, but setAutoResizeMode is called twice unnecessarily. Action granularity: Each statement generally performs one action; chained calls remain understandable. Reading flow: Setup proceeds naturally from table configuration to placement and listener registration. Blank lines help distinguish stages, though inconsistent indentation slightly reduces polish.