Sample
int-5ee04b8a8730-I04
Replace method, parameter, and local names with deterministic ProGuard-style short identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.889 | 0–1; higher is more readable |
| Dorn | 0.537 | 0–1; higher is more readable |
| Mi | 0.257 | 0–1; higher is more readable |
| LLOC | 3 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.699 | 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. | 927.923 | −30.621 |
| Source linesThe number of non-empty source lines. | 31 | +12.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.172 | −7.758 |
Intercept 8.87 + feature contributions = -17.11 (log-odds).
Score = sigmoid(-17.11) = 0.
| Score | 0.889 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| 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. | 68 | +0.785 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 31 | +0.335 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 31 | −0.291 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 30.884 | +0.022 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.095 | +0.02 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 29 | +0.01 |
Intercept 0.07 + feature contributions = 0.146 (log-odds).
Score = sigmoid(0.146) = 0.537.
| Score | 0.257 |
|---|
| Score | 3 |
|---|
Run 1
The code is highly readable, with clear structure and purpose. It uses JMH benchmark annotations concisely, and the class has a singular, well-defined responsibility. Nesting is flat, and actions are granular—one method performs one operation. The parameter list for IPv6 test cases is logically grouped and easy to scan. The only minor drawbacks are the cryptic method name 'a()' and the lack of an explicit comment explaining the benchmark's intent, but these do not significantly hinder understanding for a domain-aware reader.
Run 2
The code is well-structured and highly readable. It uses clear JMH annotations for benchmarking configuration, and the @Param annotation cleanly separates test data from logic. The class and method names are descriptive, though the method name 'a()' is overly terse and could be more meaningful. Nesting is minimal, and each line expresses a single action. The code is concise without unnecessary verbosity. Reading flow is natural, with annotations preceding the class and the benchmark method clearly isolated. Overall, the code is maintainable and easy to understand, with only minor room for improvement in method naming.
Run 3
The code is clear and well-structured. It imports only necessary dependencies, uses meaningful annotations for benchmarking, and keeps the benchmark method concise. Nesting is minimal, with no conditional logic or loops. Intent is obvious from the class and method names, though the method name 'a' is ambiguous. Code length is appropriate for a microbenchmark. Each annotation and the single method call are placed on separate lines, enhancing readability. Reading flow is natural, following a logical top-down order. Deductions are mainly for the poorly named method 'a' and minor formatting choices like placing annotations on separate lines rather than grouped, which slightly increases vertical length but improves clarity. Overall, the code is highly readable.
Run 1
Code Structure: Logically organized into imports, benchmark configuration, input parameters, and a single benchmark method. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, JMH annotations, and IPv6 inputs clearly indicate the benchmark's purpose, but the method name 'a' is uninformative and the boolean argument 'true' does not explain its meaning. Code length: Concise, with no unnecessary logic or repetition. Action granularity: Each annotation, declaration, and operation is clearly separated, with one action per line. Reading flow: Natural top-to-bottom progression from configuration to execution; a blank line after the package declaration and clearer import grouping would slightly improve readability.
Run 2
Code Structure: Imports, benchmark configuration, input parameters, and the benchmark method are logically organized. Nesting: The code is flat, with no nested control flow. Clarity of intent: The class name, JMH annotations, and IPv6 inputs clearly establish the benchmark's purpose, but the method name 'a' is uninformative and the boolean argument 'true' does not explain its meaning. Code length: The implementation is concise, with no unnecessary logic. Action granularity: Each annotation, declaration, and operation is clearly separated; the method performs one action. Reading flow: Configuration naturally leads to test inputs and execution, though a blank line after the package declaration and separation of import groups would improve visual organization.
Run 3
Code Structure: Imports, benchmark configuration, input parameters, and the benchmark method are logically organized. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, JMH annotations, and IPv6 inputs clearly establish the benchmark's purpose, but the method name 'a' is uninformative and the boolean argument 'true' lacks an explanation. Code length: Concise, with no unnecessary logic or boilerplate. Action granularity: Each annotation, declaration, and return statement has a distinct role, with one executable action per line. Reading flow: Natural progression from configuration to inputs to execution; a blank line after the package declaration and clearer import grouping would slightly improve presentation.