Sample

Dorn/java/151

Human rating uses the original dataset scale.

DatasetDorn
Human2.8
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
24.5Δ 3.1
Scalabrino0.5290–1; higher is more readable
47.3Δ 25.8
Dorn0.8330–1; higher is more readable
82.2Δ 60.7
Mi0.7050–1; higher is more readable
85.0Δ 63.5
LLOC10Logical lines; fewer is more readable
59.5Δ 38.0
DeepSeek V4 Pro110–20; mean of three runs
46.4Δ 24.9
GPT-6.1 Sol120–20; mean of three runs
19.9Δ 1.5
BTTF0.5330–1; higher is more readable
55.4Δ 34.0
Human2.81–5; original rating
21.4

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.1428.174−47.13
Source linesThe number of non-empty source lines.50+20
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.98−7.47

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

Score0.529

Feature contributions

FeatureValueContribution
(log-odds)
Indentation frequencyHow rapidly indentation changes from line to line.46+0.854
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.51−0.769
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.83.961+0.55
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.49.906+0.288
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.83.922+0.111
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.086+0.104

Intercept 0.07 + feature contributions = 1.605 (log-odds).
Score = sigmoid(1.605) = 0.833.

Score0.705
Score10
Run 1

The code demonstrates moderate readability. Structure is logical with clear package and import organization, but type declarations are inconsistently formatted (class name on separate line from 'public class'). The method checkForFailedInstalls shows reasonable nesting depth (3 levels), though multiple null checks could be flattened. Variable naming is clear except for 'files' which accumulates content ambiguously. Action granularity is mostly good with one statement per line, but the try block opens on its own line unnecessarily. Reading flow is moderately natural but method parameters have inconsistent spacing. The code is concise without excessive comments except unhelpful author tag. Main readability issues are inconsistent formatting conventions and a try block that could be simplified with early returns, making intent slightly harder to follow than necessary.

Run 2

The code reveals a mixed picture of readability. While it follows consistent formatting for method signatures and variable declarations, several structural issues hinder clarity. The nested try-catch with multiple conditional layers adds complexity, and the string concatenation for file paths with `File.separator` is verbose and obscures intent. Magic strings like 'updates' and 'install.act' lack contextual documentation beyond a vague comment. The class-level AEMonitor and platform imports appear disconnected from the visible method's purpose, creating ambiguity about the class's full responsibilities. Method length is reasonable, but variable naming ('dirs', 'found_failure') is terse and lacks descriptive power. The reading flow breaks when encountering platform manager imports that seem unrelated to the update installation logic. Overall, the code is functional but would benefit from clearer separation of concerns, more descriptive naming, and reduced nesting to improve maintainability.

Run 3

The code has a logical package structure and naming conventions but suffers from several readability issues. Indentation is inconsistent (e.g., try block, file string formatting), and lines like 'String files = ''' appear disorganized, breaking reading flow. Nesting is moderate but could be flattened. The class purpose is somewhat clear via comments, but the abrupt end leaves intent incomplete. Action granularity is mixed — some lines contain multiple actions (e.g., file path concatenation). Overall, understandable but not highly readable.

Run 1

Code Structure: Package, imports, constants, fields, and method are logically ordered, although the fragment is incomplete and imports are loosely grouped. Nesting: The visible try block and conditional create moderate nesting, with no deeply tangled logic shown. Clarity of intent: Class and method names convey update-installation responsibilities, but generic names such as dirs and files and the vague Updater comment reduce precision. Code length: The executable code is concise, but excessive blank lines and split declarations unnecessarily expand the presentation. Action granularity: Statements generally perform one action per line, making individual operations easy to distinguish. Reading flow: The sequence is natural, but inconsistent spacing, tab alignment, and declaration styles interrupt scanning. The unfinished method limits assessment of overall readability.

Run 2

Code Structure: Package, imports, constants, fields, and a method follow a logical order, but wildcard imports and unusual declaration formatting add clutter. Nesting: The visible try block and conditional introduce moderate nesting; the incomplete excerpt prevents assessing deeper complexity. Clarity of intent: Names such as checkForFailedInstalls and UPDATE_DIR communicate purpose, while files is vague and the updater warning lacks specific context. Code length: The operations are concise, but excessive whitespace and split declarations unnecessarily expand the presentation. Action granularity: Each statement generally performs one action, making individual operations easy to identify. Reading flow: The overall sequence is natural, but inconsistent spacing, tab alignment, and declarations spread across lines interrupt scanning. The excerpt ends mid-method, limiting evaluation of its complete organization.

Run 3

Code Structure: Package, imports, constants, fields, and a method follow a logical order, though wildcard imports and inconsistent formatting reduce organization. Nesting: The visible method introduces several nested levels (try and if), but the excerpt is too incomplete to assess deeper complexity. Clarity of intent: Names such as checkForFailedInstalls and UPDATE_DIR convey purpose; abbreviated names like class_mon and dirs are less descriptive. Code length: The actual logic is concise, but excessive blank lines and split declarations unnecessarily stretch the excerpt. Action granularity: Each visible statement performs one action, supporting readability. Reading flow: Conventional declaration order helps, but irregular indentation, alignment, and line breaks interrupt scanning. The unfinished method limits assessment of overall flow and structure.