Sample

Buse/58

Human rating uses the original dataset scale.

DatasetBuse
Human2.41
Lines4

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.070–1; higher is more readable
34.3Δ 24.2
Dorn0.5690–1; higher is more readable
46.5Δ 36.4
Mi0.1470–1; higher is more readable
8.1Δ 2.0
LLOC3Logical lines; fewer is more readable
88.9Δ 78.8
DeepSeek V4 Pro150–20; mean of three runs
60.6Δ 50.5
GPT-6.1 Sol180–20; mean of three runs
84.8Δ 74.7
BTTF0.4660–1; higher is more readable
39.4Δ 29.3
Human2.411–5; original rating
10.1

Views

Source code

String simpleName= runnerClass.getSimpleName(); InitializationError error= new InitializationError(String.format( CONSTRUCTOR_ERROR_FORMAT, simpleName, simpleName)); return Request.errorReport(fTestClass, error).getRunner();

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
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.807−7.211
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.177.199−5.848
Source linesThe number of non-empty source lines.4+1.6

Intercept 8.87 + feature contributions = -2.588 (log-odds).
Score = sigmoid(-2.588) = 0.07.

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.5+0.859
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
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.68+0.785
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.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.3.696−0.358
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.094+0.032

Intercept 0.07 + feature contributions = 0.279 (log-odds).
Score = sigmoid(0.279) = 0.569.

Score0.147
Score3
Run 1

The code is moderately readable but has some issues. The structure is logical and the action granularity is acceptable with one main action per line. However, the formatting is inconsistent with excessive indentation and misaligned variable declarations (String simpleName= needs spacing). The nesting is flat which is good, but the intent could be clearer with better variable naming (e.g., 'simpleName' is vague). The code is concise and not unnecessarily long. The reading flow is somewhat disrupted by the formatting issues and the chained method call on the return statement, which combines multiple actions into one line. Overall, the logic is understandable but presentation could be improved with proper formatting, spacing, and possibly breaking the chained call into intermediate steps for clarity.

Run 2

The code is generally clear and concise. It uses meaningful variable names like simpleName and error, and the logic flows naturally: extract simple name, format an error, then build and return a runner. Each line performs a single logical action, contributing to good action granularity. Nesting is minimal—only the String.format call spans multiple lines for readability. The structure is logical and easy to follow. Minor issues include a slight lack of context about CONSTRUCTOR_ERROR_FORMAT and fTestClass, which could make intent less immediate for unfamiliar readers, but the overall purpose is still evident from the variable and method names.

Run 3

The code is fairly readable: it has a clear purpose, maintains a flat structure, and each statement is logically separated. Variable names like simpleName and error are clear, and the use of String.format improves intent. However, readability is slightly reduced by the awkward reuse of simpleName twice in the format string, the unnamed constant CONSTRUCTOR_ERROR_FORMAT, and the chained return call returning Request.errorReport(...).getRunner() which combines two actions in one line. Indentation is consistent but non-standard for Java in some IDEs. Overall the code is concise and understandable but could benefit from minor restructuring for better flow.

Run 1

Code Structure: logically ordered steps derive a class name, construct an error, and return an error-report runner. Nesting: flat execution with no nested control flow; the wrapped constructor call remains easy to follow. Clarity of intent: descriptive variable and method names communicate the purpose, although the external format constant and fTestClass require context. Code length: concise, with no unnecessary statements. Action granularity: each statement performs a cohesive action; the final method chain combines closely related operations without obscuring intent. Reading flow: natural progression from preparation to error construction to return. Minor readability drawbacks include inconsistent spacing around assignment operators and heavy indentation.

Run 2

Code Structure: Logically ordered steps extract the class name, construct an error, and return its runner. Nesting: Flat control flow; nested method calls are shallow and easy to follow. Clarity of intent: Descriptive names and the error-format constant clearly communicate error reporting, although surrounding context would clarify why initialization failed. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs one main action; the final method chain is short and readable. Reading flow: Natural progression from input extraction to error creation and return. Minor spacing inconsistencies around assignment operators and heavy indentation slightly reduce readability.

Run 3

Code Structure: A logically organized sequence derives a class name, creates an initialization error, and returns an error-report runner. Nesting: No control-flow nesting; the nested method calls remain easy to follow. Clarity of intent: Descriptive names and the error-format constant communicate the purpose, although surrounding context would clarify the failure condition. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs one primary action; the final method chain is compact and readable. Reading flow: Natural progression from preparation to error construction to return. Minor formatting inconsistencies, particularly missing spaces before assignment operators and heavy indentation, slightly reduce readability.