Sample
int-1bf264a017db-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.676 | 0–1; higher is more readable |
| Dorn | 0.873 | 0–1; higher is more readable |
| Mi | 0.822 | 0–1; higher is more readable |
| LLOC | 36 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.74 | 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. | 2903.683 | −95.822 |
| Source linesThe number of non-empty source lines. | 126 | +50.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. | 5.023 | −7.535 |
Intercept 8.87 + feature contributions = -44.086 (log-odds).
Score = sigmoid(-44.086) = 0.
| Score | 0.676 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 127 | −3.46 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 119 | +3.379 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 125.805 | +1.349 |
| 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. | 116.969 | −1.289 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 116.961 | +1.083 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.056 | +0.398 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
Intercept 0.07 + feature contributions = 1.927 (log-odds).
Score = sigmoid(1.927) = 0.873.
| Score | 0.822 |
|---|
| Score | 36 |
|---|
Run 1
The code is highly readable due to its clear structure: it is organized into logical sections (WebSocketContainer methods and ServerContainer methods) with comments separating them. Nesting is completely flat, with no conditional blocks or deep indentation. Each method has a clear, single purpose—either returning a simple value or throwing an UnsupportedOperationException—making the intent unambiguous. The code is concise and avoids unnecessary verbosity, with one action per line for throws and returns. Reading flow is natural, following the interface method order and grouping related functionality. Import statements and class-level Javadoc are clean. The only minor deduction is the slight repetition in exception messages, which could be refactored to a helper method, but this does not significantly harm readability.
Run 2
The code is highly readable. It has a clear, logical structure with grouped methods (WebSocketContainer section and ServerContainer section) and consistent separation using comments. Nesting is minimal—only one level for method bodies. Intent is unambiguous: this is a mock implementation where unsupported operations throw clear, descriptive exceptions. Code length is appropriate; getters/setters are concise, and repeated unsupported-operation methods are unavoidable due to interface requirements. Action granularity is good—one statement per line. Reading flow is natural, with imports organized and methods ordered logically. Minor deductions: some lines exceed typical length limits (exception messages and method signatures), and the repetitive pattern could be slightly verbose, but it remains easy to scan and understand.
Run 3
The code is highly readable. It follows a clear, consistent structure with logical grouping via comments (WebSocketContainer vs ServerContainer). There is no deep nesting; methods are simple getters/setters or throw exceptions. Intent is explicit, particularly in exception messages. Each method performs one action, and formatting (spacing between methods, line breaks) enhances flow. Minor deductions: many similar methods are verbose but necessary for the interface. Overall, straightforward and easy to follow.
Run 1
Code Structure: Fields and methods are logically organized, with comments separating WebSocketContainer and ServerContainer responsibilities. Nesting: Methods are flat, with no nested control flow. Clarity of intent: The class documentation, descriptive field names, and explicit unsupported-operation messages clearly communicate the mock's limited behavior; abbreviated parameters such as cec and sec are slightly less clear. Code length: The implementation is concise for the required interface, though exception messages and accessor methods introduce repetitive boilerplate. Action granularity: Each statement performs one clear action, with no compressed multi-action lines. Reading flow: Consistent formatting and paired getters/setters make the code easy to scan; a few long signatures and wrapped exception messages slightly interrupt the otherwise natural flow.
Run 2
Code Structure: Fields and methods are logically grouped, with comments separating WebSocketContainer and ServerContainer responsibilities. Nesting: Methods are flat, with no nested control flow. Clarity of intent: The class documentation, descriptive property names, and explicit unsupported-operation messages clearly communicate the mock's limited behavior; abbreviated parameters such as cec and sec are slightly less clear. Code length: Methods are concise, though interface-required boilerplate and repeated exception messages add length. Action granularity: Each statement performs a single action, making behavior easy to scan. Reading flow: Consistent formatting and predictable getter/setter pairs provide a natural progression, with only minor interruptions from long signatures and wrapped exception messages.
Run 3
Code Structure: Fields and methods are logically organized, with comments separating WebSocketContainer and ServerContainer responsibilities. Nesting: Methods are flat, with no nested control flow. Clarity of intent: The class documentation, descriptive method and field names, and explicit unsupported-operation messages clearly communicate the mock's limited behavior. Code length: The implementation is concise for the interface it implements; repeated accessors and exception throws are largely necessary boilerplate. Action granularity: Each statement performs a single assignment, return, or throw. Reading flow: Consistent formatting and paired getters/setters make the code easy to scan. Minor drawbacks include abbreviated parameters such as cec and sec, several long signatures and exception messages, and the lack of spacing between the package declaration and import groups.