Sample
int-5b16332a45fe-I04
Replace method, parameter, and local names with deterministic ProGuard-style short identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 1 | 0–1; higher is more readable |
| Scalabrino | 0.887 | 0–1; higher is more readable |
| Dorn | 0.898 | 0–1; higher is more readable |
| Mi | 0.762 | 0–1; higher is more readable |
| LLOC | 2 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 14.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs |
| BTTF | 0.444 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 27 | +10.8 |
| 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.725 | −7.087 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 118.593 | −3.914 |
Intercept 8.87 + feature contributions = 8.67 (log-odds).
Score = sigmoid(8.67) = 1.
| Score | 0.887 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.022 | +0.725 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 16 | +0.47 |
| 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. | 76 | +0.446 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 76 | +0.422 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 12 | −0.322 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 26.922 | −0.034 |
Intercept 0.07 + feature contributions = 2.175 (log-odds).
Score = sigmoid(2.175) = 0.898.
| Score | 0.762 |
|---|
| Score | 2 |
|---|
Run 1
The code has clear structure with a well-defined interface and Javadoc comments that explain purpose. It is flat, concise, and each method represents a single action. However, readability is significantly reduced by the meaningless method names 'a()' and 'b()', which obscure intent despite the descriptive comments. Renaming these methods to something like 'getTestClass()' and 'getContextLoaderDelegate()' would make the code self-documenting and improve reading flow, raising the score to 19 or 20.
Run 2
The code structure is clean and well-organized with clear Javadoc comments, showing good intent and flat nesting. However, the method names are completely generic and meaningless ('a()', 'b()'), severely obscuring purpose and making the code ambiguous. The reading flow is natural but the vague naming undermines clarity. Code length is concise, but brevity comes at the cost of expressiveness. Action granularity is fine. Overall, it is readable in structure but not in semantic meaning, hence a middling score.
Run 3
The code is a well-structured interface with clean Javadoc, clear packaging, and logical organization. It uses minimal nesting and has excellent readability in terms of formatting and documentation. However, the method names 'a()' and 'b()' severely undermine clarity of intent, making the code functionally inscrutable despite its otherwise clean structure. The methods are concise and one action per line is respected, but the reading flow is disrupted by having to cross-reference documentation to understand what the methods actually return. The code length is appropriate and not unnecessarily verbose. Overall, the structure and documentation are exemplary, but the abstraction of method names to single letters defeats the purpose of self-documenting code.
Run 1
Code Structure: A logically organized interface with two clearly separated method declarations. Nesting: Flat and easy to scan, with no nested logic. Clarity of intent: The interface name and Javadoc clearly explain its purpose and each method's contract, but the names a() and b() are opaque and force readers to consult documentation. Code length: Concise, with useful documentation rather than unnecessary implementation detail. Action granularity: Each declaration occupies its own line. Reading flow: Natural progression from package to interface documentation to documented methods; descriptive method names would improve readability further.
Run 2
Code Structure: A well-organized interface with two clearly separated method declarations. Nesting: No nested control flow or unnecessary structural depth. Clarity of intent: Interface-level and method-level documentation clearly explain the purpose and return contracts, but the names a() and b() are non-descriptive and force readers to consult comments. Code length: Short and appropriately concise, with useful documentation rather than unnecessary implementation detail. Action granularity: Each method declaration occupies its own line and expresses a single operation. Reading flow: Package declaration, interface documentation, and documented methods follow a natural Java layout. Descriptive method names would significantly improve readability.
Run 3
Code Structure: The interface is logically organized, with two clearly separated method declarations. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: The interface name and Javadoc explain its purpose and each method's contract, but the names a() and b() are uninformative and obscure intent at call sites. Code length: The code is concise, with proportionate documentation and no unnecessary implementation detail. Action granularity: Each declaration occupies its own line and represents a single responsibility. Reading flow: The package, interface documentation, and documented methods follow a natural order. Overall, readability is strong, but descriptive method names would substantially improve it.