Sample
Scalabrio1
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.611 | 0–1; higher is more readable | 94.5Δ 11.6 |
| Scalabrino | 0.944 | 0–1; higher is more readable | 98.2Δ 15.3 |
| Dorn | 0.865 | 0–1; higher is more readable | 98.0Δ 15.1 |
| Mi | 0.589 | 0–1; higher is more readable | 81.7Δ 1.3 |
| LLOC | 7 | Logical lines; fewer is more readable | 81.7Δ 1.3 |
| DeepSeek V4 Pro | 16.33 | 0–20; mean of three runs | 80.9Δ 2.0 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 58.5Δ 24.4 |
| BTTF | 0.653 | 0–1; higher is more readable | 84.7Δ 1.8 |
| Human | 4.22 | 1–5; original rating | 82.9 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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. | 285.293 | −9.415 |
| Source linesThe number of non-empty source lines. | 16 | +6.4 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 3.603 | −5.404 |
Intercept 8.87 + feature contributions = 0.451 (log-odds).
Score = sigmoid(0.451) = 0.611.
| Score | 0.944 |
|---|
Feature contributions
| Feature | Value | Contribution (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. | 66.875 | +0.833 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 16 | +0.47 |
| 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. | 67 | +0.277 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.069 | +0.269 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 14 | −0.253 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 14.853 | −0.202 |
Intercept 0.07 + feature contributions = 1.861 (log-odds).
Score = sigmoid(1.861) = 0.865.
| Score | 0.589 |
|---|
| Score | 7 |
|---|
Run 1
The code is generally readable with clear intent: running a test in a new thread and ensuring cleanup via a finally block. The structure is logical and the nesting is minimal — only two levels (method → anonymous class → run method). Each action is on its own line, which improves clarity. However, the anonymous Thread subclass adds some verbosity and slightly obscures the flow; a lambda or dedicated Runnable would be cleaner. The inline comment explaining the inlined code is helpful but references outdated VA/Java limitations, which could confuse modern readers. Overall, the code is clear and maintainable but could be more concise.
Run 2
The code is concise and logically structured, with a single anonymous Thread class that clearly encapsulates the asynchronous test execution. Nesting is minimal and necessary, contributing to flat readability. The intent is unambiguous: run a test in a new thread and signal completion in a finally block. Code length is appropriate, with one action per line inside the run method. The reading flow is natural, although the commented-out line and the comment about VA/Java limitations introduce slight noise. Overall, it is highly readable with only minor improvements possible, such as removing the dead commented code.
Run 3
The code is generally readable with a logical structure: it creates an anonymous Thread subclass, starts it, and uses a try/finally to ensure cleanup. Nesting is minimal (method, inner class, run method, try/finally). The intent is clear despite a commented-out line that slightly obscures the original purpose. Length is concise. Action granularity is mostly one action per line. Reading flow is natural, though the commented-out super call and inline comment about VA/Java limitations add minor noise. Overall, the code is clean and understandable but could be improved slightly by removing the commented-out code or adding a brief explanation for the workaround.
Run 1
Code Structure: Logically organized into thread creation, test execution, completion notification, and thread startup. Nesting: The anonymous Thread subclass and try/finally introduce moderate nesting, but the method remains easy to follow. Clarity of intent: Running a test asynchronously and always signaling completion are clear; the variable name 't' and unexplained 'VA/Java' reference slightly reduce clarity. Code length: Concise overall, though the commented-out superclass call adds minor clutter. Action granularity: Each statement performs one distinct action. Reading flow: Execution proceeds naturally from thread setup to startup, with only the anonymous-class boilerplate and inconsistent indentation interrupting readability.
Run 2
Code Structure: Logically organized around creating and starting a test thread, with completion handled reliably in finally. Nesting: The anonymous Thread subclass, run method, and try/finally add moderate nesting, but the short body remains manageable. Clarity of intent: Running the test asynchronously and signaling completion are clear; the vague thread name t and legacy VA/Java comment reduce clarity slightly. Code length: Concise overall, though the commented-out call adds clutter. Action granularity: Each executable statement performs one action. Reading flow: Execution proceeds naturally from thread creation to test execution, cleanup, and thread start, although the anonymous class interrupts the outer method's linear flow.
Run 3
Code Structure: Logically organized into thread creation, test execution, completion notification, and thread startup. Nesting: Moderate nesting from the anonymous Thread subclass and try/finally adds visual complexity but remains manageable. Clarity of intent: Running a test asynchronously and signaling completion are clear; the generic variable name 't' and legacy comment slightly reduce clarity. Code length: Concise overall, though the commented-out superclass call adds clutter. Action granularity: Each executable statement performs one action. Reading flow: Execution follows naturally from constructing the thread to starting it, with finally clearly guaranteeing completion notification.