Sample
pyint-8dccc8e1075e-I09
Select one of ten low-readability unrelated code templates per class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.74 | 0–1; higher is more readable |
| Mi | 0.268 | 0–1; higher is more readable |
| LLOC | 20 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 9.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs |
| BTTF | 0.51 | 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. | 745.795 | −24.611 |
| Source linesThe number of non-empty source lines. | 25 | +10 |
| 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.784 | −7.176 |
Intercept 8.87 + feature contributions = -12.917 (log-odds).
Score = sigmoid(-12.917) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 89.962 | +0.647 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.047 | +0.483 |
| 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. | 90 | −0.147 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 26 | +0.116 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 22 | −0.084 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 24.89 | −0.062 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 22 | +0.024 |
Intercept 0.07 + feature contributions = 1.047 (log-odds).
Score = sigmoid(1.047) = 0.74.
| Score | 0.268 |
|---|
| Score | 20 |
|---|
Run 1
The code has reasonable structure with clear imports and a well-documented class, but is severely undermined by obfuscated variable naming and pointless operations. The variable 'lI0O_8419ee6b' is a meaningless name that obscures intent, and the operations assigning it (0xff3b - 0xff3b, then a conditional that resolves to 0) serve no purpose and confuse readers. Nesting is flat and the logic flow is straightforward, but the code length is unnecessarily inflated by these spurious lines. Action granularity is acceptable, though the dummy variable violates the principle of one clear action per line. Reading flow is disrupted by having to decipher the garbage variable. Overall, despite decent structure and documentation, the deliberate obfuscation drastically reduces readability, making the code seem tangled and ambiguous where it should be simple.
Run 2
The code has a clear class structure with a docstring explaining its purpose, and the __init__ method follows an understandable pattern. However, readability is heavily compromised by the obfuscated lines assigning lI0O_8419ee6b using hex arithmetic and bitwise operations that serve no purpose - likely intentional variable name obfuscation. This breaks multiple criteria: clarity of intent is severely damaged, action granularity has multiple confusing operations packed into single lines, and reading flow is jarringly interrupted. The variable name itself is nonsensical rather than descriptive. The nesting is flat and the overall code length is concise, but these positives are undermined by the mysterious dead code that forces readers to mentally decode bitwise operations to realize they're meaningless. Removing that obfuscation would dramatically improve the score to around 15-16.
Run 3
The code starts with clear imports and a well-documented class, but readability is severely impacted by the obfuscated variable name 'lI0O_8419ee6b' and its nonsensical operations. The assignment appears to initialize to 0 and then perform pointless bitwise operations, suggesting either an artifact or anti-debugging technique. This breaks clarity of intent and action granularity. The `__init__` method is otherwise straightforward: optional loader injection, superclass initialization, and app attachment follow a logical flow with acceptable nesting and line length. However, the mysterious two lines distract readers and undermine trust in the code, dragging down what would otherwise be a clean, readable class implementation. The conditional loader logic shows good structure, but the unexplained variable manipulation and cryptic naming harm the overall reading experience.
Run 1
Code Structure: Imports and a single class are logically organized, but unrelated initialization statements distract from the constructor's purpose. Nesting: Shallow, with only one straightforward conditional. Clarity of intent: The docstring, descriptive class names, and loader configuration are clear; the cryptic variable lI0O_8419ee6b and pointless arithmetic and bitwise operations obscure intent. Code length: Mostly concise, but the two redundant variable assignments add unnecessary noise, and several imports are unused in this excerpt. Action granularity: Each statement performs one assignment or call, although the conditional expression packs needless complexity into one line. Reading flow: Generally follows a natural imports-to-class-to-initialization progression, but the unexplained computations interrupt that flow, and minimal spacing between sections reduces visual separation.
Run 2
Code Structure: Imports, class documentation, and initialization are logically organized, but two unrelated obfuscated assignments interrupt the constructor. Nesting: Minimal nesting makes control flow easy to follow. Clarity of intent: The environment setup is clear, while the cryptic variable name and pointless arithmetic obscure intent and distract from meaningful operations. Code length: Mostly concise, but the redundant assignments add unnecessary length. Action granularity: Each statement occupies its own line, although the conditional bitwise assignment packs several operations into one expression. Reading flow: Loader configuration, superclass initialization, and app storage follow naturally, but the opening noise disrupts that flow. The docstring provides useful context, though its blueprint behavior is not demonstrated in this snippet.
Run 3
Code Structure: Imports and the Environment class are logically organized, but unrelated arithmetic interrupts initialization. Nesting: Shallow, with one simple conditional and an inline conditional expression. Clarity of intent: The docstring, inheritance, and loader setup explain the class's purpose, but the cryptic variable name and redundant bitwise operations obscure intent. Code length: Mostly concise, although two unnecessary statements add noise. Action granularity: Each statement occupies its own line, but the second assignment combines a comparison, conditional selection, and bitwise operations. Reading flow: Initialization otherwise follows a natural sequence, but the unexplained arithmetic creates a distracting detour before the meaningful loader configuration.