Sample

int-ca46f4d6263c-I03

Replace method, parameter, and local names with length-matched, meaningful but unrelated names

Matched original source

Lines27

Scores

MethodScoreScale
Posnett10–1; higher is more readable
Scalabrino0.850–1; higher is more readable
Dorn0.8990–1; higher is more readable
Mi0.7670–1; higher is more readable
LLOC2Logical lines; fewer is more readable
DeepSeek V4 Pro120–20; mean of three runs
GPT-6.1 Sol14.670–20; mean of three runs
BTTF0.6280–1; higher is more readable

Views

Source code

package org.springframework.test.context; /** * {@code BootstrapContext} encapsulates the context in which the <em>Spring * TestContext Framework</em> is bootstrapped. * * @author Sam Brannen * @since 4.1 * @see BootstrapWith * @see TestContextBootstrapper */ public interface BootstrapContext { /** * Get the {@linkplain Class test class} for this bootstrap context. * @return the test class (never {@code null}) */ Class<?> removeBuffer(); /** * Get the {@link CacheAwareContextLoaderDelegate} to use for transparent * interaction with the {@code ContextCache}. * @return the context loader delegate (never {@code null}) */ CacheAwareContextLoaderDelegate validateRequest(); }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Source linesThe number of non-empty source lines.27+10.8
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.749−7.123
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.118.593−3.914

Intercept 8.87 + feature contributions = 8.633 (log-odds).
Score = sigmoid(8.633) = 1.

Score0.85

Feature contributions

FeatureValueContribution
(log-odds)
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.022+0.733
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.16+0.47
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.76+0.446
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.76+0.422
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Indentation frequencyHow rapidly indentation changes from line to line.12−0.322
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.26.896−0.034

Intercept 0.07 + feature contributions = 2.183 (log-odds).
Score = sigmoid(2.183) = 0.899.

Score0.767
Score2
Run 1

The code has clear structural elements like an interface with Javadoc, but the intent is completely ambiguous due to mismatched method names and documentation. 'removeBuffer' is documented as returning a test class, while 'validateRequest' claims to return a CacheAwareContextLoaderDelegate, creating severe confusion. Nesting is non-existent, which is good, and length is concise. However, action granularity and reading flow are undermined by the nonsensical pairing of identifiers and semantics. The structure appears organized, but it fails to communicate actual purpose, making it unreadable in practice. The disconnect between names and behavior is a critical issue that a maintainer would struggle to reconcile.

Run 2

The code is structured as a simple interface with logical method grouping, low nesting, and clear Javadoc. However, the method names 'removeBuffer()' and 'validateRequest()' are completely unrelated to their documented purposes, creating severe ambiguity. Javadoc describes the interface as 'BootstrapContext' but the methods appear copy-pasted from another context, which drastically undermines clarity of intent. Each method is one line, concise, and flat, but the reading flow is confusing because the names conflict with the documentation. Action granularity is good, but overall readability is compromised by the misleading identifiers.

Run 3

The code structure is clear: a simple interface with two methods and appropriate Javadoc. Nesting is flat, intent is mostly clear, and reading flow is natural. However, method names like 'removeBuffer' and 'validateRequest' are misleading given their documented purposes (returning a test class and context loader delegate), which harms clarity of intent and reading flow. The code is concise, but this naming disconnect suggests it may be a copy-paste artifact rather than actual domain logic.

Run 1

Code Structure: The interface is logically organized, with two clearly separated method declarations. Nesting: No nested control flow, making it easy to scan. Clarity of intent: The interface documentation explains its purpose, but removeBuffer() and validateRequest() contradict their getter descriptions and return types, substantially obscuring the methods' intent. Code length: Short and appropriately scoped; documentation adds useful context without excessive verbosity. Action granularity: Each declaration occupies its own line, with no combined operations. Reading flow: The package, interface documentation, and documented methods follow a natural Java layout, though the misleading method names interrupt comprehension.

Run 2

Code Structure: The interface is logically organized, with two clearly separated method declarations and accompanying documentation. Nesting: There is no unnecessary nesting. Clarity of intent: The interface documentation explains its purpose, but removeBuffer() and validateRequest() misleadingly suggest actions unrelated to the documented getters and their return types. Code length: The code is concise, and its documentation is proportionate. Action granularity: Each declaration occupies its own line, with no combined operations. Reading flow: Formatting and method-level documentation support a natural top-to-bottom flow, but the mismatch between method names and documented behavior interrupts understanding.

Run 3

Code Structure: The interface is logically organized, with class-level documentation and two clearly separated method declarations. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: Documentation explains the interface and return values, but removeBuffer() and validateRequest() contradict their documented getter purposes, substantially obscuring the API's intent. Code length: The snippet is concise, and its documentation is proportionate to the small interface. Action granularity: Each method declaration occupies its own line, with no combined operations. Reading flow: Formatting and documentation provide a natural top-to-bottom flow, although the mismatch between method names and descriptions interrupts comprehension.