Sample
int-25bfee171ae5-I09
Select one of ten low-readability unrelated code templates per class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.544 | 0–1; higher is more readable |
| Dorn | 0.112 | 0–1; higher is more readable |
| Mi | 0.095 | 0–1; higher is more readable |
| LLOC | 13 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 8.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14 | 0–20; mean of three runs |
| BTTF | 0.231 | 0–1; higher is more readable |
Views
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. | 1151.844 | −38.011 |
| Source linesThe number of non-empty source lines. | 33 | +13.2 |
| 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.89 | −7.336 |
Intercept 8.87 + feature contributions = -23.276 (log-odds).
Score = sigmoid(-23.276) = 0.
| Score | 0.544 |
|---|
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. | 120 | −1.418 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 33 | +0.404 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 33 | −0.336 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 33 | −0.132 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.087 | +0.098 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 32.777 | +0.048 |
Intercept 0.07 + feature contributions = -2.07 (log-odds).
Score = sigmoid(-2.07) = 0.112.
| Score | 0.095 |
|---|
| Score | 13 |
|---|
Run 1
The code shows a simple event class with clean intent and logical organization, but contains a critical readability issue: an injected obfuscated line inside the partition() method that serves no purpose and breaks the natural flow. The structure is straightforward with flat nesting and clear purpose, but the decorative dead code is highly disruptive. The class is concise and each action is generally on its own line, yet the unexplained injected logic severely impacts clarity and reading flow. Without that line, the code would score significantly higher.
Run 2
The code is generally well-structured and clear, with a logical class hierarchy, minimal nesting, and concise methods. Most methods follow single-action-per-line conventions. However, there is a suspicious, obfuscated line inside the partition() method that performs meaningless bitwise operations, which severely hurts readability and clarity of intent. Additionally, while the class is short, the inclusion of this dead code makes it unnecessarily confusing. The reading flow is natural overall, but the obfuscated line interrupts it and raises questions about code quality and maintenance.
Run 3
The code has some readable elements but is severely undermined by a suspicious obfuscated line inside the `partition()` method. Criteria evaluation: (1) Code Structure - the class structure is logical and follows a standard event pattern, but the injected dead code disrupts cohesion; (2) Nesting - flat, acceptable; (3) Clarity of intent - intent is mostly clear (an event carrying partition and isolation level), but the dead code adds ambiguity and security concerns; (4) Code length - concise, appropriate; (5) Action granularity - generally one action per line, except the cryptic line mixing multiple expressions; (6) Reading flow - natural flow is interrupted by the dead code. The obfuscated line appears to be injected or accidental, making the code unreadable and untrustworthy as-is.
Run 1
Code Structure: The class is logically organized into fields, constructor, accessors, and string representation, but an unrelated block disrupts partition(). Nesting: Mostly flat, with one unnecessary nested block. Clarity of intent: Descriptive class, field, and method names make the event's purpose clear; the cryptic variable and meaningless arithmetic/bitwise operations obscure the accessor. Code length: Otherwise concise, but the injected block adds needless code. Action granularity: Most statements occupy separate lines, while the injected block compresses declaration and reassignment onto one line. Reading flow: Conventional Java organization supports natural reading, but the unindented, dense block abruptly interrupts it.
Run 2
Code Structure: The class is logically organized into fields, constructor, accessors, and string representation, but an unrelated block disrupts partition(). Nesting: Generally flat, with one unnecessary nested block. Clarity of intent: Event initialization, null checks, and accessors are clear; the cryptically named local variable and no-op arithmetic/bitwise operations have no apparent purpose. Code length: Mostly concise, except for the redundant injected statement. Action granularity: Most lines perform one action, but the injected line combines declaration, assignment, and conditional operations. Reading flow: Conventional Java organization supports natural reading, while the poorly formatted block interrupts an otherwise straightforward getter.
Run 3
Code Structure: The class is logically organized into fields, a constructor, accessors, and a string representation, but an unrelated block disrupts partition(). Nesting: Generally flat, with one unnecessary nested block. Clarity of intent: Descriptive names and constructor null checks make the event's purpose clear; the cryptic local variable and meaningless arithmetic/bitwise operations obscure intent. Code length: Mostly concise, but the no-op block adds needless code. Action granularity: Most lines perform one action, while the injected block compresses declaration, assignment, and conditional logic into one line. Reading flow: Conventional Java organization supports natural reading, but the unindented, dense block abruptly interrupts the otherwise straightforward accessor.