Merge pull request #19799 from owen-mc/java/quality-tags

Java: Tag quality queries with `quality` and sub-category
This commit is contained in:
Owen Mansel-Chan
2025-06-19 16:43:02 +01:00
committed by GitHub
82 changed files with 350 additions and 106 deletions

View File

@@ -1,15 +1,83 @@
ql/java/ql/src/Advisory/Declarations/MissingOverrideAnnotation.ql
ql/java/ql/src/Advisory/Deprecated Code/AvoidDeprecatedCallableAccess.ql
ql/java/ql/src/Advisory/Documentation/ImpossibleJavadocThrows.ql
ql/java/ql/src/Advisory/Documentation/SpuriousJavadocParam.ql
ql/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql
ql/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql
ql/java/ql/src/DeadCode/UselessParameter.ql
ql/java/ql/src/Language Abuse/EmptyMethod.ql
ql/java/ql/src/Language Abuse/IterableIterator.ql
ql/java/ql/src/Language Abuse/TypeVariableHidesType.ql
ql/java/ql/src/Language Abuse/UselessNullCheck.ql
ql/java/ql/src/Language Abuse/UselessTypeTest.ql
ql/java/ql/src/Language Abuse/WrappedIterator.ql
ql/java/ql/src/Likely Bugs/Arithmetic/ConstantExpAppearsNonConstant.ql
ql/java/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql
ql/java/ql/src/Likely Bugs/Arithmetic/LShiftLargerThanTypeWidth.ql
ql/java/ql/src/Likely Bugs/Arithmetic/WhitespaceContradictsPrecedence.ql
ql/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql
ql/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql
ql/java/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql
ql/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql
ql/java/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql
ql/java/ql/src/Likely Bugs/Comparison/CompareIdenticalValues.ql
ql/java/ql/src/Likely Bugs/Comparison/EqualsArray.ql
ql/java/ql/src/Likely Bugs/Comparison/HashedButNoHash.ql
ql/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql
ql/java/ql/src/Likely Bugs/Comparison/InconsistentEqualsHashCode.ql
ql/java/ql/src/Likely Bugs/Comparison/MissingInstanceofInEquals.ql
ql/java/ql/src/Likely Bugs/Comparison/RefEqBoxed.ql
ql/java/ql/src/Likely Bugs/Comparison/UselessComparisonTest.ql
ql/java/ql/src/Likely Bugs/Comparison/WrongNanComparison.ql
ql/java/ql/src/Likely Bugs/Concurrency/CallsToRunnableRun.ql
ql/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLocking.ql
ql/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLockingWithInitRace.ql
ql/java/ql/src/Likely Bugs/Concurrency/NonSynchronizedOverride.ql
ql/java/ql/src/Likely Bugs/Concurrency/SynchOnBoxedType.ql
ql/java/ql/src/Likely Bugs/Concurrency/SynchSetUnsynchGet.ql
ql/java/ql/src/Likely Bugs/Frameworks/JUnit/JUnit5MissingNestedAnnotation.ql
ql/java/ql/src/Likely Bugs/Inheritance/NoNonFinalInConstructor.ql
ql/java/ql/src/Likely Bugs/Likely Typos/ContainerSizeCmpZero.ql
ql/java/ql/src/Likely Bugs/Likely Typos/ContradictoryTypeChecks.ql
ql/java/ql/src/Likely Bugs/Likely Typos/MissingFormatArg.ql
ql/java/ql/src/Likely Bugs/Likely Typos/MissingSpaceTypo.ql
ql/java/ql/src/Likely Bugs/Likely Typos/SelfAssignment.ql
ql/java/ql/src/Likely Bugs/Likely Typos/StringBufferCharInit.ql
ql/java/ql/src/Likely Bugs/Likely Typos/SuspiciousDateFormat.ql
ql/java/ql/src/Likely Bugs/Likely Typos/UnusedFormatArg.ql
ql/java/ql/src/Likely Bugs/Nullness/NullAlways.ql
ql/java/ql/src/Likely Bugs/Nullness/NullExprDeref.ql
ql/java/ql/src/Likely Bugs/Nullness/NullMaybe.ql
ql/java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql
ql/java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql
ql/java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql
ql/java/ql/src/Likely Bugs/Statements/ContinueInFalseLoop.ql
ql/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql
ql/java/ql/src/Likely Bugs/Statements/UseBraces.ql
ql/java/ql/src/Likely Bugs/Termination/ConstantLoopCondition.ql
ql/java/ql/src/Performance/InefficientEmptyStringTest.ql
ql/java/ql/src/Performance/InefficientKeySetIterator.ql
ql/java/ql/src/Performance/InefficientOutputStream.ql
ql/java/ql/src/Performance/InefficientPrimConstructor.ql
ql/java/ql/src/Performance/InnerClassCouldBeStatic.ql
ql/java/ql/src/Performance/NewStringString.ql
ql/java/ql/src/Performance/StringReplaceAllWithNonRegex.ql
ql/java/ql/src/Violations of Best Practice/Boxed Types/BoxedVariable.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/DeadRefTypes.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/InterfaceCannotBeImplemented.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/UnreadLocal.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/UnusedLabel.ql
ql/java/ql/src/Violations of Best Practice/Declarations/NoConstantsOnly.ql
ql/java/ql/src/Violations of Best Practice/Exception Handling/IgnoreExceptionalReturn.ql
ql/java/ql/src/Violations of Best Practice/Exception Handling/NumberFormatException.ql
ql/java/ql/src/Violations of Best Practice/Implementation Hiding/AbstractToConcreteCollection.ql
ql/java/ql/src/Violations of Best Practice/Implementation Hiding/ExposeRepresentation.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/AmbiguousOuterSuper.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNames.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DoNotCallFinalize.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/PrintLnArray.ql

View File

@@ -1,13 +1,81 @@
ql/java/ql/src/Advisory/Declarations/MissingOverrideAnnotation.ql
ql/java/ql/src/Advisory/Deprecated Code/AvoidDeprecatedCallableAccess.ql
ql/java/ql/src/Advisory/Documentation/ImpossibleJavadocThrows.ql
ql/java/ql/src/Advisory/Documentation/SpuriousJavadocParam.ql
ql/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql
ql/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql
ql/java/ql/src/DeadCode/UselessParameter.ql
ql/java/ql/src/Language Abuse/IterableIterator.ql
ql/java/ql/src/Language Abuse/UselessNullCheck.ql
ql/java/ql/src/Language Abuse/UselessTypeTest.ql
ql/java/ql/src/Language Abuse/WrappedIterator.ql
ql/java/ql/src/Likely Bugs/Arithmetic/ConstantExpAppearsNonConstant.ql
ql/java/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql
ql/java/ql/src/Likely Bugs/Arithmetic/LShiftLargerThanTypeWidth.ql
ql/java/ql/src/Likely Bugs/Arithmetic/WhitespaceContradictsPrecedence.ql
ql/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql
ql/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql
ql/java/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql
ql/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql
ql/java/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql
ql/java/ql/src/Likely Bugs/Comparison/CompareIdenticalValues.ql
ql/java/ql/src/Likely Bugs/Comparison/EqualsArray.ql
ql/java/ql/src/Likely Bugs/Comparison/HashedButNoHash.ql
ql/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql
ql/java/ql/src/Likely Bugs/Comparison/InconsistentEqualsHashCode.ql
ql/java/ql/src/Likely Bugs/Comparison/MissingInstanceofInEquals.ql
ql/java/ql/src/Likely Bugs/Comparison/RefEqBoxed.ql
ql/java/ql/src/Likely Bugs/Comparison/UselessComparisonTest.ql
ql/java/ql/src/Likely Bugs/Comparison/WrongNanComparison.ql
ql/java/ql/src/Likely Bugs/Concurrency/CallsToRunnableRun.ql
ql/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLocking.ql
ql/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLockingWithInitRace.ql
ql/java/ql/src/Likely Bugs/Concurrency/NonSynchronizedOverride.ql
ql/java/ql/src/Likely Bugs/Concurrency/SynchOnBoxedType.ql
ql/java/ql/src/Likely Bugs/Concurrency/SynchSetUnsynchGet.ql
ql/java/ql/src/Likely Bugs/Frameworks/JUnit/JUnit5MissingNestedAnnotation.ql
ql/java/ql/src/Likely Bugs/Inheritance/NoNonFinalInConstructor.ql
ql/java/ql/src/Likely Bugs/Likely Typos/ContainerSizeCmpZero.ql
ql/java/ql/src/Likely Bugs/Likely Typos/ContradictoryTypeChecks.ql
ql/java/ql/src/Likely Bugs/Likely Typos/MissingFormatArg.ql
ql/java/ql/src/Likely Bugs/Likely Typos/MissingSpaceTypo.ql
ql/java/ql/src/Likely Bugs/Likely Typos/SelfAssignment.ql
ql/java/ql/src/Likely Bugs/Likely Typos/StringBufferCharInit.ql
ql/java/ql/src/Likely Bugs/Likely Typos/SuspiciousDateFormat.ql
ql/java/ql/src/Likely Bugs/Likely Typos/UnusedFormatArg.ql
ql/java/ql/src/Likely Bugs/Nullness/NullAlways.ql
ql/java/ql/src/Likely Bugs/Nullness/NullExprDeref.ql
ql/java/ql/src/Likely Bugs/Nullness/NullMaybe.ql
ql/java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql
ql/java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql
ql/java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql
ql/java/ql/src/Likely Bugs/Statements/ContinueInFalseLoop.ql
ql/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql
ql/java/ql/src/Likely Bugs/Statements/UseBraces.ql
ql/java/ql/src/Likely Bugs/Termination/ConstantLoopCondition.ql
ql/java/ql/src/Performance/InefficientEmptyStringTest.ql
ql/java/ql/src/Performance/InefficientKeySetIterator.ql
ql/java/ql/src/Performance/InefficientOutputStream.ql
ql/java/ql/src/Performance/InefficientPrimConstructor.ql
ql/java/ql/src/Performance/InnerClassCouldBeStatic.ql
ql/java/ql/src/Performance/NewStringString.ql
ql/java/ql/src/Performance/StringReplaceAllWithNonRegex.ql
ql/java/ql/src/Violations of Best Practice/Boxed Types/BoxedVariable.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/DeadRefTypes.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/InterfaceCannotBeImplemented.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/UnreadLocal.ql
ql/java/ql/src/Violations of Best Practice/Dead Code/UnusedLabel.ql
ql/java/ql/src/Violations of Best Practice/Declarations/NoConstantsOnly.ql
ql/java/ql/src/Violations of Best Practice/Exception Handling/IgnoreExceptionalReturn.ql
ql/java/ql/src/Violations of Best Practice/Exception Handling/NumberFormatException.ql
ql/java/ql/src/Violations of Best Practice/Implementation Hiding/AbstractToConcreteCollection.ql
ql/java/ql/src/Violations of Best Practice/Implementation Hiding/ExposeRepresentation.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/AmbiguousOuterSuper.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNames.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql
ql/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DoNotCallFinalize.ql
ql/java/ql/src/Violations of Best Practice/Undesirable Calls/PrintLnArray.ql

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/missing-override-annotation
* @tags maintainability
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/deprecated-call
* @tags maintainability
* @tags quality
* maintainability
* readability
* non-attributable
* external/cwe/cwe-477
*/

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/inconsistent-javadoc-throws
* @tags maintainability
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision very-high
* @id java/unknown-javadoc-parameter
* @tags maintainability
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/jdk-internal-api-access
* @tags maintainability
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/underscore-identifier
* @tags maintainability
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -5,7 +5,8 @@
* @problem.severity recommendation
* @precision high
* @id java/unused-parameter
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* external/cwe/cwe-561
*/

View File

@@ -6,6 +6,7 @@
* @precision high
* @id java/chained-type-tests
* @tags maintainability
* complexity
* language-features
*/

View File

@@ -7,8 +7,9 @@
* @problem.severity warning
* @precision very-high
* @id java/iterator-implements-iterable
* @tags correctness
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -6,7 +6,8 @@
* @problem.severity warning
* @precision very-high
* @id java/useless-null-check
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* external/cwe/cwe-561
*/

View File

@@ -5,7 +5,9 @@
* @problem.severity warning
* @precision very-high
* @id java/useless-type-test
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* language-features
* external/cwe/cwe-561
*/

View File

@@ -6,8 +6,9 @@
* @problem.severity warning
* @precision very-high
* @id java/iterable-wraps-iterator
* @tags correctness
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -5,8 +5,9 @@
* @problem.severity warning
* @precision very-high
* @id java/evaluation-to-constant
* @tags maintainability
* useless-code
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -6,10 +6,10 @@
* @problem.severity warning
* @precision very-high
* @id java/integer-multiplication-cast-to-long
* @tags reliability
* @tags quality
* reliability
* correctness
* types
* quality
* external/cwe/cwe-190
* external/cwe/cwe-192
* external/cwe/cwe-197

View File

@@ -5,7 +5,9 @@
* @problem.severity warning
* @precision very-high
* @id java/lshift-larger-than-type-width
* @tags correctness
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -6,8 +6,9 @@
* @problem.severity warning
* @precision very-high
* @id java/whitespace-contradicts-precedence
* @tags maintainability
* readability
* @tags quality
* reliability
* correctness
* external/cwe/cwe-783
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity error
* @precision high
* @id java/index-out-of-bounds
* @tags reliability
* @tags quality
* reliability
* correctness
* exceptions
* external/cwe/cwe-193

View File

@@ -7,7 +7,8 @@
* @problem.severity error
* @precision very-high
* @id java/type-mismatch-access
* @tags reliability
* @tags quality
* reliability
* correctness
* logic
*/

View File

@@ -5,9 +5,9 @@
* @problem.severity error
* @precision very-high
* @id java/empty-container
* @tags reliability
* maintainability
* useless-code
* @tags quality
* reliability
* correctness
* external/cwe/cwe-561
*/

View File

@@ -7,7 +7,8 @@
* @problem.severity error
* @precision very-high
* @id java/type-mismatch-modification
* @tags reliability
* @tags quality
* reliability
* correctness
* logic
*/

View File

@@ -5,9 +5,9 @@
* @problem.severity error
* @precision very-high
* @id java/unused-container
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* quality
* external/cwe/cwe-561
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity error
* @precision very-high
* @id java/comparison-of-identical-expressions
* @tags reliability
* @tags quality
* reliability
* correctness
* logic
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity error
* @precision very-high
* @id java/equals-on-arrays
* @tags reliability
* @tags quality
* reliability
* correctness
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity error
* @precision very-high
* @id java/hashing-without-hashcode
* @tags reliability
* @tags quality
* reliability
* correctness
*/

View File

@@ -6,9 +6,10 @@
* @problem.severity error
* @precision very-high
* @id java/equals-on-unrelated-types
* @tags reliability
* @tags quality
* reliability
* correctness
* quality
* external/cwe/cwe-571
*/
import java

View File

@@ -6,9 +6,9 @@
* @problem.severity error
* @precision very-high
* @id java/inconsistent-equals-and-hashcode
* @tags reliability
* @tags quality
* reliability
* correctness
* quality
* external/cwe/cwe-581
*/

View File

@@ -6,9 +6,9 @@
* @problem.severity error
* @precision high
* @id java/unchecked-cast-in-equals
* @tags reliability
* @tags quality
* reliability
* correctness
* quality
*/
import java

View File

@@ -6,9 +6,9 @@
* @problem.severity error
* @precision very-high
* @id java/reference-equality-of-boxed-types
* @tags reliability
* @tags quality
* reliability
* correctness
* quality
* external/cwe/cwe-595
*/

View File

@@ -7,7 +7,9 @@
* @problem.severity warning
* @precision very-high
* @id java/constant-comparison
* @tags correctness
* @tags quality
* reliability
* correctness
* logic
* external/cwe/cwe-570
* external/cwe/cwe-571

View File

@@ -6,7 +6,9 @@
* @problem.severity error
* @precision very-high
* @id java/comparison-with-nan
* @tags correctness
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -6,8 +6,8 @@
* @problem.severity recommendation
* @precision high
* @id java/call-to-thread-run
* @tags reliability
* correctness
* @tags quality
* reliability
* concurrency
* external/cwe/cwe-572
*/

View File

@@ -6,8 +6,8 @@
* @problem.severity error
* @precision high
* @id java/unsafe-double-checked-locking
* @tags reliability
* correctness
* @tags quality
* reliability
* concurrency
* external/cwe/cwe-609
*/

View File

@@ -8,8 +8,8 @@
* @problem.severity warning
* @precision high
* @id java/unsafe-double-checked-locking-init-order
* @tags reliability
* correctness
* @tags quality
* reliability
* concurrency
* external/cwe/cwe-609
*/

View File

@@ -6,8 +6,8 @@
* @problem.severity warning
* @precision very-high
* @id java/non-sync-override
* @tags reliability
* correctness
* @tags quality
* reliability
* concurrency
* language-features
* external/cwe/cwe-820

View File

@@ -7,8 +7,8 @@
* @problem.severity error
* @precision very-high
* @id java/sync-on-boxed-types
* @tags reliability
* correctness
* @tags quality
* reliability
* concurrency
* language-features
* external/cwe/cwe-662

View File

@@ -7,8 +7,8 @@
* @problem.severity error
* @precision very-high
* @id java/unsynchronized-getter
* @tags reliability
* correctness
* @tags quality
* reliability
* concurrency
* language-features
* external/cwe/cwe-413

View File

@@ -6,7 +6,8 @@
* @problem.severity error
* @precision very-high
* @id java/non-final-call-in-constructor
* @tags reliability
* @tags quality
* reliability
* correctness
* logic
*/

View File

@@ -5,7 +5,8 @@
* @problem.severity warning
* @precision very-high
* @id java/test-for-negative-container-size
* @tags reliability
* @tags quality
* reliability
* correctness
* logic
*/

View File

@@ -7,9 +7,10 @@
* @problem.severity error
* @precision very-high
* @id java/contradictory-type-checks
* @tags correctness
* @tags quality
* reliability
* correctness
* logic
* quality
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity error
* @precision very-high
* @id java/missing-format-argument
* @tags correctness
* @tags quality
* reliability
* correctness
* external/cwe/cwe-685
*/

View File

@@ -7,7 +7,9 @@
* @problem.severity recommendation
* @precision very-high
* @id java/missing-space-in-concatenation
* @tags readability
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -5,7 +5,8 @@
* @problem.severity error
* @precision very-high
* @id java/redundant-assignment
* @tags reliability
* @tags quality
* reliability
* correctness
* logic
*/

View File

@@ -6,8 +6,9 @@
* @problem.severity error
* @precision very-high
* @id java/string-buffer-char-init
* @tags reliability
* maintainability
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -5,8 +5,9 @@
* @problem.severity warning
* @precision high
* @id java/suspicious-date-format
* @tags correctness
* quality
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -7,7 +7,8 @@
* @problem.severity warning
* @precision very-high
* @id java/unused-format-argument
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* external/cwe/cwe-685
*/

View File

@@ -5,7 +5,8 @@
* @problem.severity error
* @precision very-high
* @id java/dereferenced-value-is-always-null
* @tags reliability
* @tags quality
* reliability
* correctness
* exceptions
* external/cwe/cwe-476

View File

@@ -6,7 +6,8 @@
* @problem.severity warning
* @precision high
* @id java/dereferenced-expr-may-be-null
* @tags reliability
* @tags quality
* reliability
* correctness
* exceptions
* external/cwe/cwe-476

View File

@@ -6,7 +6,8 @@
* @problem.severity warning
* @precision high
* @id java/dereferenced-value-may-be-null
* @tags reliability
* @tags quality
* reliability
* correctness
* exceptions
* external/cwe/cwe-476

View File

@@ -6,10 +6,11 @@
* @problem.severity warning
* @precision high
* @id java/input-resource-leak
* @tags efficiency
* correctness
* @tags quality
* reliability
* performance
* efficiency
* resources
* quality
* external/cwe/cwe-404
* external/cwe/cwe-772
*/

View File

@@ -5,7 +5,9 @@
* @problem.severity warning
* @precision high
* @id java/database-resource-leak
* @tags correctness
* @tags quality
* reliability
* performance
* resources
* external/cwe/cwe-404
* external/cwe/cwe-772

View File

@@ -6,10 +6,11 @@
* @problem.severity warning
* @precision high
* @id java/output-resource-leak
* @tags efficiency
* correctness
* @tags quality
* reliability
* performance
* efficiency
* resources
* quality
* external/cwe/cwe-404
* external/cwe/cwe-772
*/

View File

@@ -8,7 +8,9 @@
* @id java/continue-in-false-loop
* @problem.severity warning
* @precision high
* @tags correctness
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -6,7 +6,8 @@
* @problem.severity warning
* @precision high
* @id java/unreachable-catch-clause
* @tags reliability
* @tags quality
* reliability
* correctness
* exceptions
* external/cwe/cwe-561

View File

@@ -6,7 +6,9 @@
* @problem.severity warning
* @precision very-high
* @id java/misleading-indentation
* @tags maintainability
* @tags quality
* maintainability
* readability
* correctness
* logic
*/

View File

@@ -7,7 +7,9 @@
* @problem.severity warning
* @precision very-high
* @id java/constant-loop-condition
* @tags correctness
* @tags quality
* reliability
* correctness
* external/cwe/cwe-835
*/

View File

@@ -5,8 +5,9 @@
* @problem.severity recommendation
* @precision high
* @id java/inefficient-empty-string-test
* @tags efficiency
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -5,8 +5,9 @@
* @problem.severity recommendation
* @precision high
* @id java/inefficient-key-set-iterator
* @tags efficiency
* maintainability
* @tags quality
* reliability
* performance
*/
import java

View File

@@ -6,7 +6,10 @@
* @problem.severity warning
* @precision very-high
* @id java/inefficient-output-stream
* @tags efficiency
* @tags quality
* reliability
* performance
* efficiency
*/
import java

View File

@@ -5,8 +5,10 @@
* @problem.severity recommendation
* @precision high
* @id java/inefficient-boxed-constructor
* @tags efficiency
* maintainability
* @tags quality
* reliability
* performance
* efficiency
*/
import java

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/non-static-nested-class
* @tags efficiency
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/inefficient-string-constructor
* @tags efficiency
* @tags quality
* maintainability
* readability
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity warning
* @precision very-high
* @id java/non-null-boxed-variable
* @tags readability
* @tags quality
* maintainability
* readability
* types
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity recommendation
* @precision high
* @id java/unused-reference-type
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* external/cwe/cwe-561
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity warning
* @precision very-high
* @id java/unimplementable-interface
* @tags maintainability
* @tags quality
* maintainability
* useless-code
*/

View File

@@ -5,7 +5,8 @@
* @problem.severity recommendation
* @precision high
* @id java/local-variable-is-never-read
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* external/cwe/cwe-561
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity recommendation
* @precision high
* @id java/unused-label
* @tags maintainability
* @tags quality
* maintainability
* useless-code
* external/cwe/cwe-561
*/

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/constants-only-interface
* @tags maintainability
* @tags quality
* maintainability
* readability
* modularity
*/

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/ignored-error-status-of-call
* @tags reliability
* correctness
* @tags quality
* reliability
* error-handling
* external/cwe/cwe-391
*/

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/uncaught-number-format-exception
* @tags reliability
* @tags quality
* reliability
* error-handling
* external/cwe/cwe-248
*/

View File

@@ -6,8 +6,9 @@
* @problem.severity warning
* @precision very-high
* @id java/abstract-to-concrete-cast
* @tags reliability
* @tags quality
* maintainability
* complexity
* modularity
* external/cwe/cwe-485
*/

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/internal-representation-exposure
* @tags reliability
* maintainability
* @tags quality
* reliability
* correctness
* modularity
* external/cwe/cwe-485
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity warning
* @precision very-high
* @id java/subtle-inherited-call
* @tags reliability
* @tags quality
* maintainability
* readability
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity recommendation
* @precision high
* @id java/confusing-method-name
* @tags maintainability
* @tags quality
* maintainability
* readability
* naming
*/

View File

@@ -7,7 +7,8 @@
* @problem.severity recommendation
* @precision high
* @id java/confusing-method-signature
* @tags maintainability
* @tags quality
* maintainability
* readability
* naming
*/

View File

@@ -6,7 +6,8 @@
* @problem.severity recommendation
* @precision high
* @id java/local-shadows-field
* @tags maintainability
* @tags quality
* maintainability
* readability
*/

View File

@@ -5,7 +5,8 @@
* @problem.severity recommendation
* @precision high
* @id java/class-name-matches-super-class
* @tags maintainability
* @tags quality
* maintainability
* readability
* naming
*/

View File

@@ -5,7 +5,9 @@
* @problem.severity recommendation
* @precision high
* @id java/useless-tostring-call
* @tags maintainability
* @tags quality
* maintainability
* useless-code
*/
import java

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation
* @precision high
* @id java/call-to-object-tostring
* @tags reliability
* maintainability
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation
* @precision very-high
* @id java/print-array
* @tags maintainability
* @tags quality
* reliability
* correctness
*/
import java

View File

@@ -0,0 +1,17 @@
---
category: queryMetadata
---
* The tag `quality` has been added to multiple Java quality queries for consistency. They have all been given a tag for one of the two top-level categories `reliability` or `maintainability`, and a tag for a sub-category. See [Query file metadata and alert message style guide](https://github.com/github/codeql/blob/main/docs/query-metadata-style-guide.md#quality-query-sub-category-tags) for more information about these categories.
* The tag `external/cwe/cwe-571` has been added to `java/equals-on-unrelated-types`.
* The tag `readability` has been added to `java/missing-override-annotation`, `java/deprecated-call`, `java/inconsistent-javadoc-throws`, `java/unknown-javadoc-parameter`, `java/jdk-internal-api-access`, `java/underscore-identifier`, `java/misleading-indentation`, `java/inefficient-empty-string-test`, `java/non-static-nested-class`, `inefficient-string-constructor`, and `java/constants-only-interface`.
* The tag `useless-code` has been added to `java/useless-type-test`, and `java/useless-tostring-call`.
* The tag `complexity` has been added to `java/chained-type-tests`, and `java/abstract-to-concrete-cast`.
* The tag `error-handling` has been added to `java/ignored-error-status-of-call`, and `java/uncaught-number-format-exception`.
* The tag `correctness` has been added to `java/evaluation-to-constant`, `java/whitespace-contradicts-precedence`, `java/empty-container`, `java/string-buffer-char-init`, `java/call-to-object-tostring`, `java/print-array` and `java/internal-representation-exposure`.
* The tag `performance` has been added to `java/input-resource-leak`, `java/database-resource-leak`, `java/output-resource-leak`, `java/inefficient-key-set-iterator`, `java/inefficient-output-stream`, and `java/inefficient-boxed-constructor`.
* The tag `correctness` has been removed from `java/call-to-thread-run`, `java/unsafe-double-checked-locking`, `java/unsafe-double-checked-locking-init-order`, `java/non-sync-override`, `java/sync-on-boxed-types`, `java/unsynchronized-getter`, `java/input-resource-leak`, `java/output-resource-leak`, `java/database-resource-leak`, and `java/ignored-error-status-of-call`.
* The tags `maintainability` has been removed from `java/string-buffer-char-init`, `java/inefficient-key-set-iterator`, `java/inefficient-boxed-constructor`, and `java/internal-representation-exposure`.
* The tags `reliability` has been removed from `java/subtle-inherited-call`, `java/print-array`, and `java/call-to-object-tostring`.
* The tags `maintainability` and `useless-code` have been removed from `java/evaluation-to-constant`.
* The tags `maintainability` and `readability` have been removed from `java/whitespace-contradicts-precedence`.
* The tags `maintainability` and `useless-code` have been removed from `java/empty-container`.