Sample

Scalabrio108

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.33
Lines39

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
3.0Δ 31.9
Scalabrino0.2880–1; higher is more readable
25.6Δ 9.3
Dorn0.2440–1; higher is more readable
31.7Δ 3.3
Mi0.1730–1; higher is more readable
43.7Δ 8.8
LLOC35Logical lines; fewer is more readable
0.5Δ 34.4
DeepSeek V4 Pro13.330–20; mean of three runs
38.7Δ 3.8
GPT-6.1 Sol160–20; mean of three runs
34.7Δ 0.3
BTTF0.4540–1; higher is more readable
24.6Δ 10.3
Human3.331–5; original rating
34.9

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.2276.483−75.124
Source linesThe number of non-empty source lines.39+15.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.5.122−7.683

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

Score0.288

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.101+0.825
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
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.100.897−0.608
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.38−0.451
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.39−0.345
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.37.294+0.111
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.1−0.029

Intercept 0.07 + feature contributions = -1.129 (log-odds).
Score = sigmoid(-1.129) = 0.244.

Score0.173
Score35
Run 1

The code has a clear, linear if-else chain that maps collection property names to column generation logic, making intent fairly obvious. However, it suffers from notable readability issues: significant code duplication (max/min index and max/min element blocks are nearly identical), multiple actions crammed into single lines (exception throwing after condition checks), and inconsistent spacing around operators. The nesting is shallow, which is positive, but the repetitive structure makes the method longer than necessary. Magic string concatenation and embedded function calls reduce clarity. The commented-out code adds minor noise. Refactoring the duplicate branches into helper methods and separating condition validation from return statements would improve readability substantially.

Run 2

The code uses a consistent if-else structure that clearly maps each collection property name to its column logic, making the intent understandable. However, readability suffers from repetitive nested checks and duplicated logic for maxIndex/minIndex and maxElement/minElement. The single-line if statements with throw clauses reduce clarity compared to separated lines. The commented-out code suggests unclear decision-making. While the flat if-else chain avoids deep nesting, the overall verbosity and copy-paste patterns make it harder to scan and maintain.

Run 3

The code has a clear overall structure: a sequence of property-name checks mapping to column expressions. However, readability is reduced by monotonous if-else chains and repeated logic. Nesting is shallow (mostly one level), which helps, but many similar branches add length. Clarity of intent is mostly good—each branch corresponds to a collection operation—though repeated throw checks obscure the core logic. Action granularity is mixed: some lines combine condition, throw, and assignment. Reading flow is natural in order but lengthy. Refactoring to a switch or extracting helper methods would improve clarity and conciseness.

Run 1

Code Structure: Logically organized by collection property, though the repetitive if/else chain could be simplified. Nesting: Shallow, with early returns and straightforward validation checks. Clarity of intent: Descriptive constants, persister methods, and exception messages clearly communicate each branch's purpose; the generic variable name 'cols' is less informative. Code length: Reasonable overall, but min/max branches duplicate validation and SQL construction. Action granularity: Most lines contain one action, although inline if/throw statements compress checks and error handling. Reading flow: Predictable branch ordering and consistent return patterns make the method easy to follow; inconsistent spacing, unbraced checks, and a commented-out return slightly disrupt readability.

Run 2

Code Structure: A logically organized conditional chain separates collection-property cases, though repeated validation and aggregation patterns add duplication. Nesting: Shallow nesting and immediate returns keep individual branches easy to follow. Clarity of intent: Descriptive constants, method names, and exception messages clearly communicate each case; the abbreviated variable 'cols' is slightly less explicit. Code length: Reasonably concise, but repeated min/max logic and a commented-out statement add avoidable length. Action granularity: Most lines contain one action, although inline condition-and-throw statements compress validation and error handling onto a single line. Reading flow: Consistent branch patterns support predictable reading, but the long else-if chain, inconsistent spacing, and obsolete comment mildly interrupt the flow.

Run 3

Code Structure: Logically organized into distinct property-specific branches, though repeated validation and aggregation patterns introduce duplication. Nesting: Shallow overall; inline guard conditions keep branches simple. Clarity of intent: Descriptive constants, persister methods, and exception messages make the purpose clear, although the generic variable name 'cols' provides limited context. Code length: Reasonably concise, but similar min/max branches could be consolidated carefully. Action granularity: Most statements perform one action per line; inline if-and-throw statements slightly reduce scanability. Reading flow: The consistent branch pattern and immediate returns support predictable reading, but the lengthy else-if chain, inconsistent operator spacing, and commented-out return distract.