Sample
pyint-d4f3679c35ea-I03
Replace names with length-matched meaningful but unrelated identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.397 | 0–1; higher is more readable |
| Mi | 0.602 | 0–1; higher is more readable |
| LLOC | 51 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 4.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11.33 | 0–20; mean of three runs |
| BTTF | 0.529 | 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. | 2579.988 | −85.14 |
| Source linesThe number of non-empty source lines. | 125 | +50 |
| 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.449 | −6.673 |
Intercept 8.87 + feature contributions = -32.943 (log-odds).
Score = sigmoid(-32.943) = 0.
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. | 125 | −3.39 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 95 | +2.549 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 95 | −1.759 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 124.891 | +1.336 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 99.976 | +0.809 |
| 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. | 99.937 | −0.568 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.042 | +0.536 |
Intercept 0.07 + feature contributions = -0.417 (log-odds).
Score = sigmoid(-0.417) = 0.397.
| Score | 0.602 |
|---|
| Score | 51 |
|---|
Run 1
The code is highly unreadable due to deliberately obfuscated naming and confusing logic. Function parameters like 'secureKey', 'localCache', and 'remoteState' are misleading and do not reflect their actual purpose (converter, takes_self, takes_field). The __init__ method contains hard-coded lambda assignments with positional parameter names (value, instance, field) that are inconsistent and unclear. Comments and docstrings are detached from their original intent—methods like validateMessage and validateAccount perform string formatting unrelated to validation or accounts, and the docstring for validateAccount mentions nonexistent parameters. Logical flow is tangled, with multiple conditional branches whose purpose is obscure. Action granularity is reasonable per line, but nesting and naming destroy clarity. The sheer mismatch between documented behavior, identifiers, and implementation makes this nearly impossible to maintain or understand without reverse-engineering the original code.
Run 2
The code is structurally organized with imports, class, and methods, but the core implementation is heavily obscured. The Converter __init__ uses misleading parameter names (secureKey, localCache, remoteState) that map to converter, takes_self, takes_field, harming clarity. Methods like validateMessage and validateAccount have names suggesting unrelated functionality, and their logic returns strings with unclear intent. Lambdas in __init__ reduce readability by obscuring control flow and parameter roles. Nesting is moderate, but the use of cryptic variable names (age, total, finalUser, finalPath) and inconsistent abstraction levels make reading flow unnatural. The code is concise in places but at the expense of comprehensibility, and the action granularity is mixed—some lines pack multiple logical operations. Overall, the code appears deliberately obscured despite its superficial structure, making it difficult to understand intent and maintain.
Run 3
The code is difficult to read due to misleading naming, inconsistent concepts, and unclear intent. The `Converter` class uses parameter names like `secureKey`, `localCache`, and `remoteState` that have no semantic connection to their actual roles (converter, takes_self, takes_field), severely damaging clarity. Methods such as `validateMessage` and `validateAccount` appear to perform string generation unrelated to their names, which obscures purpose. The `__init__` builds lambdas conditionally, increasing cognitive load and reducing readability. While the class has a clear structure with slots and docstrings, the core logic is tangled and ambiguous, resembling obfuscated or auto-renamed code. Nesting is moderate, and action granularity is mostly one action per line, but these positives are outweighed by the pervasive semantic confusion and poor naming conventions.
Run 1
1. Code Structure: Methods are logically grouped within a small class, but numerous unused imports distract from its scope. 2. Nesting: Shallow conditionals and early returns keep branching manageable. 3. Clarity of intent: The main weakness is misleading names such as secureKey, localCache, validateMessage, and validateAccount, which conflict with converter behavior and documented parameter names. __setstate__ also passes dictionary keys that do not match __init__ parameters, undermining coherence. 4. Code length: The implementation is reasonably compact, but excessive imports and repetitive converter branches add noise. 5. Action granularity: Most statements perform one action, although lambdas and long formatted strings combine several details. 6. Reading flow: Method organization is natural, but inconsistent naming, stale documentation, and dynamic assignment of __call__ force readers to repeatedly reconcile intent with implementation.
Run 2
Code Structure: Methods are logically separated within a single class, but numerous unused imports distract from its organization. Nesting: Shallow conditionals and early returns keep branching easy to follow. Clarity of intent: The main weakness is misleading names such as secureKey, localCache, remoteState, age, validateMessage, and validateAccount, which do not describe converter behavior. Docstrings reference parameter names absent from the signatures, further confusing readers. The state dictionary keys also do not match constructor parameters, making reconstruction difficult to reason about. Code length: Reasonably compact, although imports and repeated call-string construction add noise. Action granularity: Most lines perform one clear action; multiline lambdas remain manageable. Reading flow: Initialization, call generation, and serialization follow a sensible sequence, but inconsistent terminology, placeholder lambda arguments, and long formatted strings interrupt otherwise natural reading.
Run 3
Code Structure: Methods are logically grouped within a single class, but numerous unused imports add clutter. Nesting: Shallow conditionals and early returns keep complexity manageable. Clarity of intent: Converter behavior is documented, but misleading names such as secureKey, localCache, validateMessage, and validateAccount obscure their actual roles and conflict with docstrings. The state-loading method passes dictionary keys that do not match constructor parameters, further undermining coherence. Code length: Mostly concise, though repeated converter-call formatting and lengthy imports introduce avoidable bulk. Action granularity: Statements generally perform one action per line; lambdas remain small and focused. Reading flow: Initialization, invocation formatting, and serialization follow a sensible order, but inconsistent terminology, stale documentation, and long formatted-string lines interrupt comprehension.