Sample
int-ca46f4d6263c-I03
Replace method, parameter, and local names with length-matched, meaningful but unrelated names
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 1 | 0–1; higher is more readable |
| Scalabrino | 0.85 | 0–1; higher is more readable |
| Dorn | 0.899 | 0–1; higher is more readable |
| Mi | 0.767 | 0–1; higher is more readable |
| LLOC | 2 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 12 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs |
| BTTF | 0.628 | 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.749 | −7.123 |
| 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.633 (log-odds).
Score = sigmoid(8.633) = 1.
| Score | 0.85 |
|---|
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.733 |
| 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.896 | −0.034 |
Intercept 0.07 + feature contributions = 2.183 (log-odds).
Score = sigmoid(2.183) = 0.899.
| Score | 0.767 |
|---|
| Score | 2 |
|---|
Run 1
The code has clear structural elements like an interface with Javadoc, but the intent is completely ambiguous due to mismatched method names and documentation. 'removeBuffer' is documented as returning a test class, while 'validateRequest' claims to return a CacheAwareContextLoaderDelegate, creating severe confusion. Nesting is non-existent, which is good, and length is concise. However, action granularity and reading flow are undermined by the nonsensical pairing of identifiers and semantics. The structure appears organized, but it fails to communicate actual purpose, making it unreadable in practice. The disconnect between names and behavior is a critical issue that a maintainer would struggle to reconcile.
Run 2
The code is structured as a simple interface with logical method grouping, low nesting, and clear Javadoc. However, the method names 'removeBuffer()' and 'validateRequest()' are completely unrelated to their documented purposes, creating severe ambiguity. Javadoc describes the interface as 'BootstrapContext' but the methods appear copy-pasted from another context, which drastically undermines clarity of intent. Each method is one line, concise, and flat, but the reading flow is confusing because the names conflict with the documentation. Action granularity is good, but overall readability is compromised by the misleading identifiers.
Run 3
The code structure is clear: a simple interface with two methods and appropriate Javadoc. Nesting is flat, intent is mostly clear, and reading flow is natural. However, method names like 'removeBuffer' and 'validateRequest' are misleading given their documented purposes (returning a test class and context loader delegate), which harms clarity of intent and reading flow. The code is concise, but this naming disconnect suggests it may be a copy-paste artifact rather than actual domain logic.
Run 1
Code Structure: The interface is logically organized, with two clearly separated method declarations. Nesting: No nested control flow, making it easy to scan. Clarity of intent: The interface documentation explains its purpose, but removeBuffer() and validateRequest() contradict their getter descriptions and return types, substantially obscuring the methods' intent. Code length: Short and appropriately scoped; documentation adds useful context without excessive verbosity. Action granularity: Each declaration occupies its own line, with no combined operations. Reading flow: The package, interface documentation, and documented methods follow a natural Java layout, though the misleading method names interrupt comprehension.
Run 2
Code Structure: The interface is logically organized, with two clearly separated method declarations and accompanying documentation. Nesting: There is no unnecessary nesting. Clarity of intent: The interface documentation explains its purpose, but removeBuffer() and validateRequest() misleadingly suggest actions unrelated to the documented getters and their return types. Code length: The code is concise, and its documentation is proportionate. Action granularity: Each declaration occupies its own line, with no combined operations. Reading flow: Formatting and method-level documentation support a natural top-to-bottom flow, but the mismatch between method names and documented behavior interrupts understanding.
Run 3
Code Structure: The interface is logically organized, with class-level documentation and two clearly separated method declarations. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: Documentation explains the interface and return values, but removeBuffer() and validateRequest() contradict their documented getter purposes, substantially obscuring the API's intent. Code length: The snippet is concise, and its documentation is proportionate to the small interface. Action granularity: Each method declaration occupies its own line, with no combined operations. Reading flow: Formatting and documentation provide a natural top-to-bottom flow, although the mismatch between method names and descriptions interrupts comprehension.