Support using g/s factor through UI when doing local anonymizations (… #125
Annotations
10 errors and 12 warnings
The local variable name '_numQIs' doesn't match '[a-z][a-zA-Z0-9]*':
src/main/org/deidentifier/arx/ARXAnonymizer.java#L423
Configurable naming conventions for local variable declarations and other locally-scoped
variables. This rule reports variable declarations which do not match the regex that applies to their
specific kind (e.g. final variable, or catch-clause parameter). Each regex can be configured through
properties.
By default this rule uses the standard Java naming convention (Camel case).
LocalVariableNamingConventions (Priority: 1, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#localvariablenamingconventions
|
This class has only private constructors and may be final:
src/main/org/deidentifier/arx/ARXConfiguration.java#L56
Reports classes that may be made final because they cannot be extended from outside
their compilation unit anyway. This is because all their constructors are private,
so a subclass could not call the super constructor.
ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal
|
Object clone() should be implemented with super.clone():
src/main/org/deidentifier/arx/ARXConfiguration.java#L547
Object clone() should be implemented with super.clone().
ProperCloneImplementation (Priority: 2, Ruleset: Error Prone)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_errorprone.html#propercloneimplementation
|
Object clone() should be implemented with super.clone():
src/main/org/deidentifier/arx/ARXCostBenefitConfiguration.java#L60
Object clone() should be implemented with super.clone().
ProperCloneImplementation (Priority: 2, Ruleset: Error Prone)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_errorprone.html#propercloneimplementation
|
This class has only private constructors and may be final:
src/main/org/deidentifier/arx/ARXFeatureScaling.java#L30
Reports classes that may be made final because they cannot be extended from outside
their compilation unit anyway. This is because all their constructors are private,
so a subclass could not call the super constructor.
ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal
|
The instance method name '_legacySearchedWithFlash' doesn't match '[a-z][a-zA-Z0-9]*':
src/main/org/deidentifier/arx/ARXLattice.java#L1498
Configurable naming conventions for method declarations. This rule reports
method declarations which do not match the regex that applies to their
specific kind (e.g. JUnit test or native method). Each regex can be
configured through properties.
By default this rule uses the standard Java naming convention (Camel case).
MethodNamingConventions (Priority: 1, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#methodnamingconventions
|
This class has only private constructors and may be final:
src/main/org/deidentifier/arx/ARXPopulationModel.java#L26
Reports classes that may be made final because they cannot be extended from outside
their compilation unit anyway. This is because all their constructors are private,
so a subclass could not call the super constructor.
ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal
|
Object clone() should be implemented with super.clone():
src/main/org/deidentifier/arx/ARXPopulationModel.java#L158
Object clone() should be implemented with super.clone().
ProperCloneImplementation (Priority: 2, Ruleset: Error Prone)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_errorprone.html#propercloneimplementation
|
Object clone() should be implemented with super.clone():
src/main/org/deidentifier/arx/ARXProcessStatistics.java#L121
Object clone() should be implemented with super.clone().
ProperCloneImplementation (Priority: 2, Ruleset: Error Prone)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_errorprone.html#propercloneimplementation
|
Object clone() should be implemented with super.clone():
src/main/org/deidentifier/arx/ARXProcessStatistics.java#L369
Object clone() should be implemented with super.clone().
ProperCloneImplementation (Priority: 2, Ruleset: Error Prone)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_errorprone.html#propercloneimplementation
|
pmd-code-scan
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
pmd-code-scan
CodeQL Action v2 will be deprecated on December 5th, 2024. Please update all occurrences of the CodeQL Action in your workflow files to v3. For more information, see https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/
|
This statement should have braces:
src/main/org/deidentifier/arx/ARXAnonymizer.java#L185
Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
statements and loop statements, even if they are optional. This usually makes the code clearer, and
helps prepare the future when you need to add another statement. That said, this rule lets you control
which statements are required to have braces via properties.
From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
and IfElseStmtMustUseBraces.
ControlStatementBraces (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#controlstatementbraces
|
This statement should have braces:
src/main/org/deidentifier/arx/ARXAnonymizer.java#L188
Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
statements and loop statements, even if they are optional. This usually makes the code clearer, and
helps prepare the future when you need to add another statement. That said, this rule lets you control
which statements are required to have braces via properties.
From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
and IfElseStmtMustUseBraces.
ControlStatementBraces (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#controlstatementbraces
|
This statement should have braces:
src/main/org/deidentifier/arx/ARXAnonymizer.java#L191
Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
statements and loop statements, even if they are optional. This usually makes the code clearer, and
helps prepare the future when you need to add another statement. That said, this rule lets you control
which statements are required to have braces via properties.
From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
and IfElseStmtMustUseBraces.
ControlStatementBraces (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#controlstatementbraces
|
Consider simply returning the value vs storing it in local variable 'manager':
src/main/org/deidentifier/arx/ARXAnonymizer.java#L730
Avoid the creation of unnecessary local variables
UnnecessaryLocalBeforeReturn (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#unnecessarylocalbeforereturn
|
Unnecessary modifier 'static' on enum 'AnonymizationAlgorithm': nested enums are implicitly static:
src/main/org/deidentifier/arx/ARXConfiguration.java#L63
Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
(all nested interfaces and annotations are automatically static).
Nested enums are automatically `static`.
For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
UnnecessaryModifier (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#unnecessarymodifier
|
Unnecessary modifier 'static' on enum 'Monotonicity': nested enums are implicitly static:
src/main/org/deidentifier/arx/ARXConfiguration.java#L263
Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
(all nested interfaces and annotations are automatically static).
Nested enums are automatically `static`.
For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
UnnecessaryModifier (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#unnecessarymodifier
|
Unnecessary modifier 'static' on enum 'SearchStepSemantics': nested enums are implicitly static:
src/main/org/deidentifier/arx/ARXConfiguration.java#L278
Fields in interfaces and annotations are automatically `public static final`, and methods are `public abstract`.
Classes, interfaces or annotations nested in an interface or annotation are automatically `public static`
(all nested interfaces and annotations are automatically static).
Nested enums are automatically `static`.
For historical reasons, modifiers which are implied by the context are accepted by the compiler, but are superfluous.
UnnecessaryModifier (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#unnecessarymodifier
|
The method 'clone()' is missing an @Override annotation.:
src/main/org/deidentifier/arx/ARXConfiguration.java#L547
Annotating overridden methods with @OverRide ensures at compile time that
the method really overrides one, which helps refactoring and clarifies intent.
MissingOverride (Priority: 3, Ruleset: Best Practices)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_bestpractices.html#missingoverride
|
This statement should have braces:
src/main/org/deidentifier/arx/ARXConfiguration.java#L614
Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
statements and loop statements, even if they are optional. This usually makes the code clearer, and
helps prepare the future when you need to add another statement. That said, this rule lets you control
which statements are required to have braces via properties.
From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
and IfElseStmtMustUseBraces.
ControlStatementBraces (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#controlstatementbraces
|
This statement should have braces:
src/main/org/deidentifier/arx/ARXConfiguration.java#L615
Enforce a policy for braces on control statements. It is recommended to use braces on 'if ... else'
statements and loop statements, even if they are optional. This usually makes the code clearer, and
helps prepare the future when you need to add another statement. That said, this rule lets you control
which statements are required to have braces via properties.
From 6.2.0 on, this rule supersedes WhileLoopMustUseBraces, ForLoopMustUseBraces, IfStmtMustUseBraces,
and IfElseStmtMustUseBraces.
ControlStatementBraces (Priority: 3, Ruleset: Code Style)
https://docs.pmd-code.org/pmd-doc-7.8.0/pmd_rules_java_codestyle.html#controlstatementbraces
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
PMD Report
|
40.6 KB |
|