Skip to content
Flag of Europe
Made in the European Union · Independently built · Released under EUPL 1.2

security-core

PIT mutation report for security-core, rendered from the module’s mutations.xml. See Architecture → Quality for the cross-module comparison and all modules.

87%
mutation coverage
91%
test strength
1893/2196
mutations killed
195
survived
100
no coverage

Mutators

Kill rate per mutation operator — where the test suite is strong and where mutants slip through.

MutatorKilledTotalKill rate
NegateConditionals677728 93%
NullReturnVals391446 88%
VoidMethodCall313413 76%
EmptyObjectReturnVals169207 82%
BooleanTrueReturnVals122129 95%
BooleanFalseReturnVals7983 95%
ConditionalsBoundary4872 67%
PrimitiveReturns4861 79%
Math3645 80%
Increments1012 83%

Surviving mutants 295

Each row is a real gap: a bytecode change the tests did not catch. Class · line · operator. Showing the first 60 of 295 — run mvnw -pl :security-core org.pitest:pitest-maven:mutationCoverage for the full interactive PIT report.

ClassLineMutatorMutation
AbusePatternMonitor162EmptyObjectReturnValsreplaced return value with Collections.emptyList for com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::observe
AbusePatternMonitor193EmptyObjectReturnValsreplaced return value with Optional.empty for com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::observeSpraying
AbusePatternMonitor209VoidMethodCallremoved call to com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::pruneByTime
AbusePatternMonitor225EmptyObjectReturnValsreplaced return value with Optional.empty for com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::observeStuffing
AbusePatternMonitor240VoidMethodCallremoved call to com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::pruneInstantDeque
AbusePatternMonitor243NegateConditionalsnegated conditional
AbusePatternMonitor251EmptyObjectReturnValsreplaced return value with Optional.empty for com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::observeResetAbuse
AbusePatternMonitor281PrimitiveReturnsreplaced int return with 0 for com/svenruppert/vaadin/security/credential/abuse/AbusePatternMonitor::distinctTargets (no coverage)
ActionAuthorizationService57NegateConditionalsnegated conditional (no coverage)
ActionAuthorizationService59NegateConditionalsnegated conditional (no coverage)
ApiKeyAuthenticationService99NegateConditionalsnegated conditional
AuthorizationService60NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/authorization/api/AuthorizationService::permissionsFor (no coverage)
CalibrationProfileStore84NegateConditionalsnegated conditional
CalibrationProfileStore90VoidMethodCallremoved call to java/io/BufferedWriter::write
ContextAwarePasswordValidator99NegateConditionalsnegated conditional
ContextAwarePasswordValidator106VoidMethodCallremoved call to java/util/Arrays::fill
ContextAwarePasswordValidator113BooleanTrueReturnValsreplaced boolean return with true for com/svenruppert/vaadin/security/credential/input/ContextAwarePasswordValidator::containsCaseInsensitive (no coverage)
DefaultDummyVerificationService79NegateConditionalsnegated conditional
DefaultDummyVerificationService91NegateConditionalsnegated conditional
DefaultDummyVerificationService95NegateConditionalsnegated conditional (no coverage)
DefaultDummyVerificationService96EmptyObjectReturnValsreplaced return value with Optional.empty for com/svenruppert/vaadin/security/credential/password/dummy/DefaultDummyVerificationService::resolveAnyProvider (no coverage)
DefaultDummyVerificationService99EmptyObjectReturnValsreplaced return value with Optional.empty for com/svenruppert/vaadin/security/credential/password/dummy/DefaultDummyVerificationService::resolveAnyProvider
DefaultPasswordHashPolicy127EmptyObjectReturnValsreplaced return value with Collections.emptySet for com/svenruppert/vaadin/security/credential/password/policy/DefaultPasswordHashPolicy::acceptableAlgorithms (no coverage)
DefaultPasswordHashPolicy132EmptyObjectReturnValsreplaced return value with Collections.emptySet for com/svenruppert/vaadin/security/credential/password/policy/DefaultPasswordHashPolicy::acceptableProviderIds (no coverage)
DefaultPasswordHashPolicy$Builder218NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/password/policy/DefaultPasswordHashPolicy$Builder::preferredFormatVersion (no coverage)
DefaultPasswordHashPolicy$Builder235NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/password/policy/DefaultPasswordHashPolicy$Builder::addAcceptableAlgorithm (no coverage)
DefaultPasswordHashPolicy$Builder240NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/password/policy/DefaultPasswordHashPolicy$Builder::addAcceptableProviderId (no coverage)
DefaultPasswordHashingService129NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/password/DefaultPasswordHashingService::lambda$hash$0 (no coverage)
DefaultPasswordHashingService159NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/password/DefaultPasswordHashingService::verifyAgainstNothing (no coverage)
DefaultPasswordHashingService221VoidMethodCallremoved call to com/svenruppert/vaadin/security/credential/password/dummy/DummyVerificationService::runDummyKdf
DefaultPasswordHashingService229VoidMethodCallremoved call to com/svenruppert/vaadin/security/credential/password/dummy/DummyVerificationService::runDummyKdf (no coverage)
DefaultPasswordHashingService231NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/password/DefaultPasswordHashingService::verifyUnderLease (no coverage)
DefaultPasswordHashingService234VoidMethodCallremoved call to java/util/Arrays::fill
DefaultPasswordHashingService280VoidMethodCallremoved call to java/util/Arrays::fill
DefaultTenantAwarePepperReferenceResolver77PrimitiveReturnsreplaced int return with 0 for com/svenruppert/vaadin/security/credential/tenant/DefaultTenantAwarePepperReferenceResolver::overrideCount (no coverage)
EmailVerificationService229PrimitiveReturnsreplaced int return with 0 for com/svenruppert/vaadin/security/accountlifecycle/EmailVerificationService::purgeExpired (no coverage)
EmailVerificationService264VoidMethodCallremoved call to java/security/SecureRandom::nextBytes
FileBootstrapTokenStore118NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/bootstrap/FileBootstrapTokenStore::path (no coverage)
InMemoryAbuseDetectionService96ConditionalsBoundarychanged conditional boundary
InMemoryAbuseDetectionService101ConditionalsBoundarychanged conditional boundary
InMemoryAbuseDetectionService143NegateConditionalsnegated conditional
InMemoryAbuseDetectionService143EmptyObjectReturnValsreplaced return value with "" for com/svenruppert/vaadin/security/credential/abuse/InMemoryAbuseDetectionService::tenantKey
InMemoryAbuseDetectionService183ConditionalsBoundarychanged conditional boundary
InMemoryAbuseDetectionService222ConditionalsBoundarychanged conditional boundary
InMemoryAbuseDetectionService222NegateConditionalsnegated conditional
InMemoryAbuseDetectionService223ConditionalsBoundarychanged conditional boundary
InMemoryAbuseDetectionService240NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/abuse/InMemoryAbuseDetectionService::dimensionOf
InMemoryAbuseDetectionService243NullReturnValsreplaced return value with null for com/svenruppert/vaadin/security/credential/abuse/InMemoryAbuseDetectionService::dimensionOf
InMemoryApiKeyStore67VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock::unlock
InMemoryApiKeyStore85VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock::unlock
InMemoryApiKeyStore97BooleanFalseReturnValsreplaced boolean return with false for com/svenruppert/vaadin/security/authentication/InMemoryApiKeyStore::markUsed
InMemoryApiKeyStore100BooleanTrueReturnValsreplaced boolean return with true for com/svenruppert/vaadin/security/authentication/InMemoryApiKeyStore::markUsed
InMemoryApiKeyStore102VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock::unlock
InMemoryApiKeyStore114BooleanFalseReturnValsreplaced boolean return with false for com/svenruppert/vaadin/security/authentication/InMemoryApiKeyStore::revoke
InMemoryApiKeyStore117BooleanTrueReturnValsreplaced boolean return with true for com/svenruppert/vaadin/security/authentication/InMemoryApiKeyStore::revoke
InMemoryApiKeyStore119VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock::unlock
InMemoryApiKeyStore130VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock::unlock
InMemoryApiKeyStore143VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock::unlock
InMemoryAuditEventStore61VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock::unlock
InMemoryAuditEventStore80VoidMethodCallremoved call to java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock::unlock