Sample

Dorn/java/200

Human rating uses the original dataset scale.

DatasetDorn
Human3.73
Lines49

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.8960–1; higher is more readable
88.9Δ 9.2
Scalabrino0.7250–1; higher is more readable
79.5Δ 0.2
Dorn0.8470–1; higher is more readable
85.2Δ 5.6
Mi0.7220–1; higher is more readable
88.3Δ 8.6
LLOC9Logical lines; fewer is more readable
61.3Δ 18.4
DeepSeek V4 Pro180–20; mean of three runs
98.3Δ 18.7
GPT-6.1 Sol16.670–20; mean of three runs
73.8Δ 5.8
BTTF0.6710–1; higher is more readable
89.1Δ 9.5
Human3.731–5; original rating
79.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)
Source linesThe number of non-empty source lines.49+19.6
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.569.35−18.789
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.02−7.53

Intercept 8.87 + feature contributions = 2.152 (log-odds).
Score = sigmoid(2.152) = 0.896.

Score0.725

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.50−0.734
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.032+0.628
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.88+0.451
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.74.42+0.396
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.48.896+0.274
Indentation frequencyHow rapidly indentation changes from line to line.28+0.231

Intercept 0.07 + feature contributions = 1.715 (log-odds).
Score = sigmoid(1.715) = 0.847.

Score0.722
Score9
Run 1

The code is a clean, well-structured Java interface. It has a clear purpose: defining a contract for session info provisioning in a database diff plugin. It follows standard conventions (package declaration, imports, copyright header) and uses descriptive method names. Nesting is non-existent, and action granularity is appropriate with one method per line. The interface is concise, with no redundant methods or unclear parameters. Reading flow is natural: related getters/setters are grouped logically, and the optional IScriptFileManager accessor is documented with a Javadoc return tag. Minor deductions: no Javadoc on most methods (though names are self-explanatory), and the interface could include class-level Javadoc explaining its usage beyond the brief comment. Overall, highly readable for any Java developer.

Run 2

The code is highly readable. It consists of a simple interface with a clear, single responsibility: providing session and object information for a diff operation. The structure is logical, with no nesting or complex logic. Method names clearly express their purpose (e.g., setSourceSession, getDestSelectedDatabaseObjects), making intent obvious. The code is concise with one method declaration per line and no redundant code. Action granularity is appropriate, as each abstract method represents one clear action. The reading flow is natural—source-related methods are grouped together, followed by destination-related methods, and finally a utility method. The Javadoc comments, while minimal, add context where needed. The only minor deductions are for slight redundancy in the get/set method pairs, but this is standard for interfaces and does not detract from readability.

Run 3

The code is an interface definition with excellent readability. Structure is logical: license header, package declaration, imports, then the interface with related methods grouped coherently. There is no nesting, and clarity of intent is high—method names like setSourceSession and getDestSelectedDatabaseObjects clearly describe their purpose. The code is concise, containing no unnecessary implementation details. Each method declaration occupies a single line, maintaining one action per line. Reading flow is natural, progressing from source-related methods to destination-related methods, then to utility accessors. The only minor weakness is the presence of a somewhat vague Javadoc comment ('This is implemented in order to pass needed info along to diff executor'), but this does not significantly impact overall readability. The interface is clean, well-organized, and immediately understandable to any Java developer.

Run 1

Code Structure: A simple interface with clear declarations, but source/destination accessors are inconsistently grouped and the closing brace is missing. Nesting: Flat declarations with no complex nesting. Clarity of intent: Descriptive method names and types convey the session and database-object roles, though the interface documentation is vague and 'Dest' is abbreviated. Code length: The interface is concise; the lengthy license header and redundant public modifiers add visual overhead. Action granularity: Each method declaration occupies its own line, making individual responsibilities easy to scan. Reading flow: Package, imports, documentation, and declarations follow a familiar Java layout, but grouping related getters and setters consistently would improve navigation.

Run 2

Code Structure: A small, focused interface with clear declarations, though related source and destination getters/setters could be grouped more consistently. Nesting: Flat, with no nested control flow. Clarity of intent: Descriptive method names make the session and database-object roles clear; the interface documentation is vague, and parameter names such as 'infos' add little context. Code length: Concise declarations, with minor verbosity from redundant 'public' modifiers and a trivial getter comment; the license header is standard boilerplate. Action granularity: Each declaration occupies its own line. Reading flow: Spacing supports scanning, but the inconsistent ordering interrupts the otherwise straightforward flow. The supplied snippet also lacks the interface's closing brace, making it appear incomplete.

Run 3

Code Structure: A small, focused interface with clear declarations, although source and destination getters/setters are not consistently grouped. Nesting: No nested control flow; only the interface scope. Clarity of intent: Descriptive method names communicate the session and database-object information provided to a diff executor, but documentation is sparse and 'Dest' is abbreviated. Code length: Concise declarations; the lengthy license header adds visual bulk but is standard boilerplate. Action granularity: Each declaration occupies its own line, making the API easy to scan. Reading flow: Consistent formatting and spacing help, but irregular method ordering interrupts the flow. The snippet also lacks a closing interface brace, making it appear incomplete.