Sample
int-eb1166bdd910-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.821 | 0–1; higher is more readable |
| Dorn | 0.077 | 0–1; higher is more readable |
| Mi | 0.071 | 0–1; higher is more readable |
| LLOC | 8 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 12.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11.33 | 0–20; mean of three runs |
| BTTF | 0 | 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. | 1245.145 | −41.09 |
| 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. | 5.404 | −8.106 |
Intercept 8.87 + feature contributions = -27.126 (log-odds).
Score = sigmoid(-27.126) = 0.
| Score | 0.821 |
|---|
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. | 123.912 | −1.583 |
| 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 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.112 | −0.146 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 33 | −0.132 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 32.904 | +0.05 |
Intercept 0.07 + feature contributions = -2.478 (log-odds).
Score = sigmoid(-2.478) = 0.077.
| Score | 0.071 |
|---|
| Score | 8 |
|---|
Run 1
The code is generally readable with clear structure and intent for a JMH benchmark. It uses appropriate annotations and a straightforward benchmark method. However, the presence of an obfuscated, meaningless block of code (the 'lI0O_70658149' variable manipulation) severely damages clarity and intent. This block appears to be either injected noise or an attempt at obfuscation, making the code ambiguous and reducing readability. While the rest of the code follows good practices—flat nesting, concise logic, and clear naming—the mysterious block is a major flaw. Action granularity and reading flow are otherwise acceptable.
Run 2
The code is generally readable but contains a confusing obfuscated line that significantly hurts clarity. Structure is logical with clear annotations and a well-organized benchmark class. Nesting is flat. The intent is obvious for the benchmark itself, but the inserted obfuscated integer manipulation line serves no apparent purpose and disrupts reading flow. Code length is concise, and action granularity is mostly one action per line, except for the obfuscated line which packs multiple operations into one dense expression. Reading flow is natural until that line. Removing the obfuscated code would bring the score to around 18-19, as the rest follows standard JMH benchmark patterns cleanly.
Run 3
The code has a clear purpose and uses concise JMH annotations, but readability is severely undermined by an obfuscated no-op block injected into the benchmark method. This block contains meaningless variable names and conditional logic that serve no functional purpose, violating clarity of intent and action granularity. Structure is mostly logical, but the method is not flat and the injected code disrupts natural reading flow. Overall, the benchmark is understandable but significantly less readable due to the confusing dead code.
Run 1
Code Structure: The benchmark class, annotations, input parameters, and method are logically organized, but an unrelated obfuscated block interrupts the method. Nesting: Most code is flat; the inserted block adds unnecessary nested conditionals. Clarity of intent: The benchmark's purpose and final call are clear, while the cryptic variable name and redundant bitwise expressions obscure the block's intent. Code length: The useful implementation is concise, but the dead-code block adds needless complexity. Action granularity: Imports, annotations, and the return statement are cleanly separated; the inserted block compresses declarations, conditions, and updates onto one line. Reading flow: The surrounding code reads naturally, but the unindented, densely packed block sharply disrupts scanning and comprehension.
Run 2
Code Structure: The benchmark class is logically organized with configuration annotations, input parameters, and a single benchmark method, but an unrelated obfuscated block disrupts it. Nesting: Most code is flat; the injected block introduces unnecessary nested conditionals. Clarity of intent: The class name, annotations, and return statement clearly indicate IPv6 parsing performance measurement, while the cryptic variable and redundant bitwise operations obscure intent. Code length: The benchmark is concise overall, but the no-op block adds unnecessary code. Action granularity: Normal declarations and the return statement are cleanly separated; the injected block compresses declarations, conditions, and updates onto one line. Reading flow: Configuration naturally leads to the benchmark operation, but the unindented, densely packed block interrupts that flow and requires extra effort to recognize as irrelevant.
Run 3
Code Structure: The benchmark class is logically organized, but an unrelated obfuscated block disrupts the method. Nesting: Most code is flat; the injected block introduces unnecessary nested conditionals. Clarity of intent: Annotations, parameter values, and the method name clearly identify an IPv6 parsing benchmark, while the cryptic variable and redundant bitwise expressions obscure the block's purpose. Code length: The benchmark is concise overall, but the extra block adds needless complexity. Action granularity: Normal declarations and the return statement are cleanly separated; the injected block compresses declarations, conditionals, and mutations onto one line. Reading flow: The class reads naturally until the poorly formatted block interrupts the straightforward path to the parsing call.