diff --git a/java/ql/src/Advisory/Declarations/MissingOverrideAnnotation.ql b/java/ql/src/Advisory/Declarations/MissingOverrideAnnotation.ql index 0fd91f67178a..40fcc1dcacfc 100644 --- a/java/ql/src/Advisory/Declarations/MissingOverrideAnnotation.ql +++ b/java/ql/src/Advisory/Declarations/MissingOverrideAnnotation.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/missing-override-annotation + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/Advisory/Deprecated Code/AvoidDeprecatedCallableAccess.ql b/java/ql/src/Advisory/Deprecated Code/AvoidDeprecatedCallableAccess.ql index f20be6d7f349..301fdaa0c56e 100644 --- a/java/ql/src/Advisory/Deprecated Code/AvoidDeprecatedCallableAccess.ql +++ b/java/ql/src/Advisory/Deprecated Code/AvoidDeprecatedCallableAccess.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/deprecated-call + * @suites security-and-quality * @tags maintainability * non-attributable * external/cwe/cwe-477 diff --git a/java/ql/src/Advisory/Documentation/ImpossibleJavadocThrows.ql b/java/ql/src/Advisory/Documentation/ImpossibleJavadocThrows.ql index 7f8f4d4f983d..499c592fb518 100644 --- a/java/ql/src/Advisory/Documentation/ImpossibleJavadocThrows.ql +++ b/java/ql/src/Advisory/Documentation/ImpossibleJavadocThrows.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/inconsistent-javadoc-throws + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/Advisory/Documentation/SpuriousJavadocParam.ql b/java/ql/src/Advisory/Documentation/SpuriousJavadocParam.ql index 43afd978f014..081a8f6e6e7d 100644 --- a/java/ql/src/Advisory/Documentation/SpuriousJavadocParam.ql +++ b/java/ql/src/Advisory/Documentation/SpuriousJavadocParam.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision very-high * @id java/unknown-javadoc-parameter + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql b/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql index 352af0ecb664..5279a293c152 100644 --- a/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql +++ b/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/jdk-internal-api-access + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql b/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql index 1d04f0f0d370..b20345b15932 100644 --- a/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql +++ b/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/underscore-identifier + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/DeadCode/UselessParameter.ql b/java/ql/src/DeadCode/UselessParameter.ql index 3d29c8faf10d..2d6f6875ef43 100644 --- a/java/ql/src/DeadCode/UselessParameter.ql +++ b/java/ql/src/DeadCode/UselessParameter.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/unused-parameter + * @suites security-and-quality * @tags maintainability * useless-code * external/cwe/cwe-561 diff --git a/java/ql/src/Language Abuse/ChainedInstanceof.ql b/java/ql/src/Language Abuse/ChainedInstanceof.ql index bb646eeee785..82cf202528f9 100644 --- a/java/ql/src/Language Abuse/ChainedInstanceof.ql +++ b/java/ql/src/Language Abuse/ChainedInstanceof.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/chained-type-tests + * @suites security-and-quality * @tags maintainability * language-features */ diff --git a/java/ql/src/Language Abuse/IterableIterator.ql b/java/ql/src/Language Abuse/IterableIterator.ql index fd5c5107e2d2..7dd6d047d9e9 100644 --- a/java/ql/src/Language Abuse/IterableIterator.ql +++ b/java/ql/src/Language Abuse/IterableIterator.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision very-high * @id java/iterator-implements-iterable + * @suites security-and-quality * @tags correctness * reliability */ diff --git a/java/ql/src/Language Abuse/OverridePackagePrivate.ql b/java/ql/src/Language Abuse/OverridePackagePrivate.ql index d2866c76abc1..59fae00bc073 100644 --- a/java/ql/src/Language Abuse/OverridePackagePrivate.ql +++ b/java/ql/src/Language Abuse/OverridePackagePrivate.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/non-overriding-package-private + * @suites security-and-quality * @tags maintainability * readability */ diff --git a/java/ql/src/Language Abuse/TypeVarExtendsFinalType.ql b/java/ql/src/Language Abuse/TypeVarExtendsFinalType.ql index 77c318bcb9ea..417e34676278 100644 --- a/java/ql/src/Language Abuse/TypeVarExtendsFinalType.ql +++ b/java/ql/src/Language Abuse/TypeVarExtendsFinalType.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/type-bound-extends-final + * @suites security-and-quality * @tags maintainability * readability * types diff --git a/java/ql/src/Language Abuse/TypeVariableHidesType.ql b/java/ql/src/Language Abuse/TypeVariableHidesType.ql index d411c3848e29..5b12c5844986 100644 --- a/java/ql/src/Language Abuse/TypeVariableHidesType.ql +++ b/java/ql/src/Language Abuse/TypeVariableHidesType.ql @@ -6,6 +6,8 @@ * @problem.severity warning * @precision medium * @id java/type-variable-hides-type + * @suites security-and-quality + * quality * @tags reliability * readability * types diff --git a/java/ql/src/Language Abuse/UselessNullCheck.ql b/java/ql/src/Language Abuse/UselessNullCheck.ql index 93e5a92c3070..60ecef73fd67 100644 --- a/java/ql/src/Language Abuse/UselessNullCheck.ql +++ b/java/ql/src/Language Abuse/UselessNullCheck.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/useless-null-check + * @suites security-and-quality * @tags maintainability * useless-code * external/cwe/cwe-561 diff --git a/java/ql/src/Language Abuse/UselessTypeTest.ql b/java/ql/src/Language Abuse/UselessTypeTest.ql index 48ba740cbe8c..55360d1c96b8 100644 --- a/java/ql/src/Language Abuse/UselessTypeTest.ql +++ b/java/ql/src/Language Abuse/UselessTypeTest.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision very-high * @id java/useless-type-test + * @suites security-and-quality * @tags maintainability * language-features * external/cwe/cwe-561 diff --git a/java/ql/src/Language Abuse/WrappedIterator.ql b/java/ql/src/Language Abuse/WrappedIterator.ql index 10dd8472fc46..c77939673684 100644 --- a/java/ql/src/Language Abuse/WrappedIterator.ql +++ b/java/ql/src/Language Abuse/WrappedIterator.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/iterable-wraps-iterator + * @suites security-and-quality * @tags correctness * reliability */ diff --git a/java/ql/src/Likely Bugs/Arithmetic/BadAbsOfRandom.ql b/java/ql/src/Likely Bugs/Arithmetic/BadAbsOfRandom.ql index 26353891f418..689a1acbae66 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/BadAbsOfRandom.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/BadAbsOfRandom.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/abs-of-random + * @suites security-and-quality * @tags reliability * maintainability */ diff --git a/java/ql/src/Likely Bugs/Arithmetic/ConstantExpAppearsNonConstant.ql b/java/ql/src/Likely Bugs/Arithmetic/ConstantExpAppearsNonConstant.ql index e54c470de431..e91561e05f73 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/ConstantExpAppearsNonConstant.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/ConstantExpAppearsNonConstant.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision very-high * @id java/evaluation-to-constant + * @suites security-and-quality * @tags maintainability * useless-code */ diff --git a/java/ql/src/Likely Bugs/Arithmetic/InformationLoss.ql b/java/ql/src/Likely Bugs/Arithmetic/InformationLoss.ql index 7d97af12b710..0054b6b0f592 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/InformationLoss.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/InformationLoss.ql @@ -8,6 +8,7 @@ * @security-severity 8.1 * @precision very-high * @id java/implicit-cast-in-compound-assignment + * @suites security-and-quality * @tags reliability * security * external/cwe/cwe-190 diff --git a/java/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql b/java/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql index 31a1d8a20a13..4b57dd4872c7 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql @@ -6,6 +6,8 @@ * @problem.severity warning * @precision very-high * @id java/integer-multiplication-cast-to-long + * @suites security-and-quality + * quality * @tags reliability * correctness * types diff --git a/java/ql/src/Likely Bugs/Arithmetic/LShiftLargerThanTypeWidth.ql b/java/ql/src/Likely Bugs/Arithmetic/LShiftLargerThanTypeWidth.ql index f3c0b2200809..f85a45b8243d 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/LShiftLargerThanTypeWidth.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/LShiftLargerThanTypeWidth.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision very-high * @id java/lshift-larger-than-type-width + * @suites security-and-quality * @tags correctness */ diff --git a/java/ql/src/Likely Bugs/Arithmetic/MultiplyRemainder.ql b/java/ql/src/Likely Bugs/Arithmetic/MultiplyRemainder.ql index 8992d1753d9b..094d07eccead 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/MultiplyRemainder.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/MultiplyRemainder.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/multiplication-of-remainder + * @suites security-and-quality * @tags maintainability * correctness */ diff --git a/java/ql/src/Likely Bugs/Arithmetic/RandomUsedOnce.ql b/java/ql/src/Likely Bugs/Arithmetic/RandomUsedOnce.ql index a18df3568993..d3564431180f 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/RandomUsedOnce.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/RandomUsedOnce.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/random-used-once + * @suites security-and-quality * @tags reliability * maintainability * external/cwe/cwe-335 diff --git a/java/ql/src/Likely Bugs/Arithmetic/WhitespaceContradictsPrecedence.ql b/java/ql/src/Likely Bugs/Arithmetic/WhitespaceContradictsPrecedence.ql index b0508b8eb38c..a5f33523e503 100644 --- a/java/ql/src/Likely Bugs/Arithmetic/WhitespaceContradictsPrecedence.ql +++ b/java/ql/src/Likely Bugs/Arithmetic/WhitespaceContradictsPrecedence.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/whitespace-contradicts-precedence + * @suites security-and-quality * @tags maintainability * readability * external/cwe/cwe-783 diff --git a/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql b/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql index 8c2f7b1d6f8a..691d1bb0d044 100644 --- a/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql +++ b/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql @@ -7,6 +7,7 @@ * @problem.severity error * @precision medium * @id java/missing-call-to-super-clone + * @suites security-and-quality * @tags reliability * maintainability * external/cwe/cwe-580 diff --git a/java/ql/src/Likely Bugs/Cloning/MissingMethodClone.ql b/java/ql/src/Likely Bugs/Cloning/MissingMethodClone.ql index 6d48a118e290..b951ecc5701d 100644 --- a/java/ql/src/Likely Bugs/Cloning/MissingMethodClone.ql +++ b/java/ql/src/Likely Bugs/Cloning/MissingMethodClone.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/missing-clone-method + * @suites security-and-quality * @tags reliability * maintainability */ diff --git a/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql b/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql index c94801189b3f..897523366ab5 100644 --- a/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql +++ b/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision high * @id java/index-out-of-bounds + * @suites security-and-quality * @tags reliability * correctness * exceptions diff --git a/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql b/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql index e1137b111bf6..8ff2507fec46 100644 --- a/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql +++ b/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql @@ -7,6 +7,7 @@ * @problem.severity error * @precision very-high * @id java/type-mismatch-access + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Collections/IteratorRemoveMayFail.ql b/java/ql/src/Likely Bugs/Collections/IteratorRemoveMayFail.ql index 0308f68f231c..063cff967834 100644 --- a/java/ql/src/Likely Bugs/Collections/IteratorRemoveMayFail.ql +++ b/java/ql/src/Likely Bugs/Collections/IteratorRemoveMayFail.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/iterator-remove-failure + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql b/java/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql index 5b90341660be..744c9deeff5e 100644 --- a/java/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql +++ b/java/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql @@ -5,6 +5,7 @@ * @problem.severity error * @precision very-high * @id java/empty-container + * @suites security-and-quality * @tags reliability * maintainability * useless-code diff --git a/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql b/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql index 08a8da884846..34fb567641ce 100644 --- a/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql +++ b/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql @@ -7,6 +7,7 @@ * @problem.severity error * @precision very-high * @id java/type-mismatch-modification + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql b/java/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql index 8c8cb6105b3e..35fa4898bc2b 100644 --- a/java/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql +++ b/java/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql @@ -5,6 +5,8 @@ * @problem.severity error * @precision very-high * @id java/unused-container + * @suites security-and-quality + * quality * @tags maintainability * useless-code * external/cwe/cwe-561 diff --git a/java/ql/src/Likely Bugs/Comparison/CompareIdenticalValues.ql b/java/ql/src/Likely Bugs/Comparison/CompareIdenticalValues.ql index 4b52e937af26..c65e68a2abfe 100644 --- a/java/ql/src/Likely Bugs/Comparison/CompareIdenticalValues.ql +++ b/java/ql/src/Likely Bugs/Comparison/CompareIdenticalValues.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/comparison-of-identical-expressions + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Comparison/CovariantCompareTo.ql b/java/ql/src/Likely Bugs/Comparison/CovariantCompareTo.ql index de1e27073f66..1242f92f0f94 100644 --- a/java/ql/src/Likely Bugs/Comparison/CovariantCompareTo.ql +++ b/java/ql/src/Likely Bugs/Comparison/CovariantCompareTo.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/wrong-compareto-signature + * @suites security-and-quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/CovariantEquals.ql b/java/ql/src/Likely Bugs/Comparison/CovariantEquals.ql index 13f63f15a726..b9567ce3cfcf 100644 --- a/java/ql/src/Likely Bugs/Comparison/CovariantEquals.ql +++ b/java/ql/src/Likely Bugs/Comparison/CovariantEquals.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/wrong-equals-signature + * @suites security-and-quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/EqualsArray.ql b/java/ql/src/Likely Bugs/Comparison/EqualsArray.ql index 2b04d8711540..9b3fe52624a2 100644 --- a/java/ql/src/Likely Bugs/Comparison/EqualsArray.ql +++ b/java/ql/src/Likely Bugs/Comparison/EqualsArray.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/equals-on-arrays + * @suites security-and-quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/HashedButNoHash.ql b/java/ql/src/Likely Bugs/Comparison/HashedButNoHash.ql index 6d3c4ce28218..e8e08d5e0c84 100644 --- a/java/ql/src/Likely Bugs/Comparison/HashedButNoHash.ql +++ b/java/ql/src/Likely Bugs/Comparison/HashedButNoHash.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/hashing-without-hashcode + * @suites security-and-quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql b/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql index 2326ae5dd3d9..49f9fc83ffb1 100644 --- a/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql +++ b/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql @@ -6,6 +6,8 @@ * @problem.severity error * @precision very-high * @id java/equals-on-unrelated-types + * @suites security-and-quality + * quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/InconsistentCompareTo.ql b/java/ql/src/Likely Bugs/Comparison/InconsistentCompareTo.ql index 8c5a7133e141..52a20a365515 100644 --- a/java/ql/src/Likely Bugs/Comparison/InconsistentCompareTo.ql +++ b/java/ql/src/Likely Bugs/Comparison/InconsistentCompareTo.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/inconsistent-compareto-and-equals + * @suites security-and-quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/InconsistentEqualsHashCode.ql b/java/ql/src/Likely Bugs/Comparison/InconsistentEqualsHashCode.ql index b788caec0e14..a2c65a13571a 100644 --- a/java/ql/src/Likely Bugs/Comparison/InconsistentEqualsHashCode.ql +++ b/java/ql/src/Likely Bugs/Comparison/InconsistentEqualsHashCode.ql @@ -6,6 +6,8 @@ * @problem.severity error * @precision very-high * @id java/inconsistent-equals-and-hashcode + * @suites security-and-quality + * quality * @tags reliability * correctness * external/cwe/cwe-581 diff --git a/java/ql/src/Likely Bugs/Comparison/MissingInstanceofInEquals.ql b/java/ql/src/Likely Bugs/Comparison/MissingInstanceofInEquals.ql index 455ca22d6e3f..d7835007de7d 100644 --- a/java/ql/src/Likely Bugs/Comparison/MissingInstanceofInEquals.ql +++ b/java/ql/src/Likely Bugs/Comparison/MissingInstanceofInEquals.ql @@ -6,6 +6,8 @@ * @problem.severity error * @precision high * @id java/unchecked-cast-in-equals + * @suites security-and-quality + * quality * @tags reliability * correctness */ diff --git a/java/ql/src/Likely Bugs/Comparison/RefEqBoxed.ql b/java/ql/src/Likely Bugs/Comparison/RefEqBoxed.ql index b5c679f67e70..777c433dee8a 100644 --- a/java/ql/src/Likely Bugs/Comparison/RefEqBoxed.ql +++ b/java/ql/src/Likely Bugs/Comparison/RefEqBoxed.ql @@ -6,6 +6,8 @@ * @problem.severity error * @precision very-high * @id java/reference-equality-of-boxed-types + * @suites security-and-quality + * quality * @tags reliability * correctness * external/cwe/cwe-595 diff --git a/java/ql/src/Likely Bugs/Comparison/StringComparison.ql b/java/ql/src/Likely Bugs/Comparison/StringComparison.ql index 63d09e0f7915..f35a629938e2 100644 --- a/java/ql/src/Likely Bugs/Comparison/StringComparison.ql +++ b/java/ql/src/Likely Bugs/Comparison/StringComparison.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/reference-equality-on-strings + * @suites security-and-quality * @tags reliability * external/cwe/cwe-597 */ diff --git a/java/ql/src/Likely Bugs/Comparison/UselessComparisonTest.ql b/java/ql/src/Likely Bugs/Comparison/UselessComparisonTest.ql index b4076bee00b5..d07fcf54a62a 100644 --- a/java/ql/src/Likely Bugs/Comparison/UselessComparisonTest.ql +++ b/java/ql/src/Likely Bugs/Comparison/UselessComparisonTest.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision very-high * @id java/constant-comparison + * @suites security-and-quality * @tags correctness * logic * external/cwe/cwe-570 diff --git a/java/ql/src/Likely Bugs/Comparison/WrongNanComparison.ql b/java/ql/src/Likely Bugs/Comparison/WrongNanComparison.ql index b5ebc3a951c4..040435909877 100644 --- a/java/ql/src/Likely Bugs/Comparison/WrongNanComparison.ql +++ b/java/ql/src/Likely Bugs/Comparison/WrongNanComparison.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/comparison-with-nan + * @suites security-and-quality * @tags correctness */ diff --git a/java/ql/src/Likely Bugs/Concurrency/CallsToConditionWait.ql b/java/ql/src/Likely Bugs/Concurrency/CallsToConditionWait.ql index bf1639361154..31170e7a8da1 100644 --- a/java/ql/src/Likely Bugs/Concurrency/CallsToConditionWait.ql +++ b/java/ql/src/Likely Bugs/Concurrency/CallsToConditionWait.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/wait-on-condition-interface + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/CallsToRunnableRun.ql b/java/ql/src/Likely Bugs/Concurrency/CallsToRunnableRun.ql index c31ef9962252..7c3ea05ec0ef 100644 --- a/java/ql/src/Likely Bugs/Concurrency/CallsToRunnableRun.ql +++ b/java/ql/src/Likely Bugs/Concurrency/CallsToRunnableRun.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/call-to-thread-run + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/DateFormatThreadUnsafe.ql b/java/ql/src/Likely Bugs/Concurrency/DateFormatThreadUnsafe.ql index 18683ac690ff..0c782c9e69a2 100644 --- a/java/ql/src/Likely Bugs/Concurrency/DateFormatThreadUnsafe.ql +++ b/java/ql/src/Likely Bugs/Concurrency/DateFormatThreadUnsafe.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/thread-unsafe-dateformat + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLocking.ql b/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLocking.ql index 21b8c805cbb3..5f2d6aeab623 100644 --- a/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLocking.ql +++ b/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLocking.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision high * @id java/unsafe-double-checked-locking + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLockingWithInitRace.ql b/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLockingWithInitRace.ql index 17b9fc93d211..334e576d7571 100644 --- a/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLockingWithInitRace.ql +++ b/java/ql/src/Likely Bugs/Concurrency/DoubleCheckedLockingWithInitRace.ql @@ -8,6 +8,7 @@ * @problem.severity warning * @precision high * @id java/unsafe-double-checked-locking-init-order + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/FutileSynchOnField.ql b/java/ql/src/Likely Bugs/Concurrency/FutileSynchOnField.ql index 7c1875dfe3ec..8d5387616205 100644 --- a/java/ql/src/Likely Bugs/Concurrency/FutileSynchOnField.ql +++ b/java/ql/src/Likely Bugs/Concurrency/FutileSynchOnField.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/unsafe-sync-on-field + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/NonSynchronizedOverride.ql b/java/ql/src/Likely Bugs/Concurrency/NonSynchronizedOverride.ql index a2e41c9bd055..a14c4ad36285 100644 --- a/java/ql/src/Likely Bugs/Concurrency/NonSynchronizedOverride.ql +++ b/java/ql/src/Likely Bugs/Concurrency/NonSynchronizedOverride.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/non-sync-override + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/NotifyNotNotifyAll.ql b/java/ql/src/Likely Bugs/Concurrency/NotifyNotNotifyAll.ql index 047e6853011e..f9e637e10a9e 100644 --- a/java/ql/src/Likely Bugs/Concurrency/NotifyNotNotifyAll.ql +++ b/java/ql/src/Likely Bugs/Concurrency/NotifyNotNotifyAll.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/notify-instead-of-notify-all + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/SleepWithLock.ql b/java/ql/src/Likely Bugs/Concurrency/SleepWithLock.ql index 417e426b7868..9a4b4fec1292 100644 --- a/java/ql/src/Likely Bugs/Concurrency/SleepWithLock.ql +++ b/java/ql/src/Likely Bugs/Concurrency/SleepWithLock.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/sleep-with-lock-held + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/StartInConstructor.ql b/java/ql/src/Likely Bugs/Concurrency/StartInConstructor.ql index cb971a5f109f..56b70e8d6cdd 100644 --- a/java/ql/src/Likely Bugs/Concurrency/StartInConstructor.ql +++ b/java/ql/src/Likely Bugs/Concurrency/StartInConstructor.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/thread-start-in-constructor + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/SynchOnBoxedType.ql b/java/ql/src/Likely Bugs/Concurrency/SynchOnBoxedType.ql index a217d019f324..6ba9306c67e9 100644 --- a/java/ql/src/Likely Bugs/Concurrency/SynchOnBoxedType.ql +++ b/java/ql/src/Likely Bugs/Concurrency/SynchOnBoxedType.ql @@ -7,6 +7,7 @@ * @problem.severity error * @precision very-high * @id java/sync-on-boxed-types + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/SynchSetUnsynchGet.ql b/java/ql/src/Likely Bugs/Concurrency/SynchSetUnsynchGet.ql index f631ab145ed8..bffcad4d6efc 100644 --- a/java/ql/src/Likely Bugs/Concurrency/SynchSetUnsynchGet.ql +++ b/java/ql/src/Likely Bugs/Concurrency/SynchSetUnsynchGet.ql @@ -7,6 +7,7 @@ * @problem.severity error * @precision very-high * @id java/unsynchronized-getter + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/SynchWriteObject.ql b/java/ql/src/Likely Bugs/Concurrency/SynchWriteObject.ql index 3eaa67436992..975982daa7ec 100644 --- a/java/ql/src/Likely Bugs/Concurrency/SynchWriteObject.ql +++ b/java/ql/src/Likely Bugs/Concurrency/SynchWriteObject.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/inconsistent-sync-writeobject + * @suites security-and-quality * @tags reliability * correctness * concurrency diff --git a/java/ql/src/Likely Bugs/Concurrency/UnreleasedLock.ql b/java/ql/src/Likely Bugs/Concurrency/UnreleasedLock.ql index 73c66c664f1a..6dd424f5e1db 100644 --- a/java/ql/src/Likely Bugs/Concurrency/UnreleasedLock.ql +++ b/java/ql/src/Likely Bugs/Concurrency/UnreleasedLock.ql @@ -7,6 +7,7 @@ * @security-severity 5.0 * @precision medium * @id java/unreleased-lock + * @suites security-and-quality * @tags reliability * security * external/cwe/cwe-764 diff --git a/java/ql/src/Likely Bugs/Finalization/NullifiedSuperFinalize.ql b/java/ql/src/Likely Bugs/Finalization/NullifiedSuperFinalize.ql index 19bac66e0281..2e60ee8db6c9 100644 --- a/java/ql/src/Likely Bugs/Finalization/NullifiedSuperFinalize.ql +++ b/java/ql/src/Likely Bugs/Finalization/NullifiedSuperFinalize.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/missing-super-finalize + * @suites security-and-quality * @tags reliability * maintainability * external/cwe/cwe-568 diff --git a/java/ql/src/Likely Bugs/Frameworks/JUnit/BadSuiteMethod.ql b/java/ql/src/Likely Bugs/Frameworks/JUnit/BadSuiteMethod.ql index 2b6ae1125ddd..5e79ff612c15 100644 --- a/java/ql/src/Likely Bugs/Frameworks/JUnit/BadSuiteMethod.ql +++ b/java/ql/src/Likely Bugs/Frameworks/JUnit/BadSuiteMethod.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/wrong-junit-suite-signature + * @suites security-and-quality * @tags testability * maintainability * frameworks/junit diff --git a/java/ql/src/Likely Bugs/Frameworks/Swing/BadlyOverriddenAdapter.ql b/java/ql/src/Likely Bugs/Frameworks/Swing/BadlyOverriddenAdapter.ql index 3d4f62707344..f26dd8fb728e 100644 --- a/java/ql/src/Likely Bugs/Frameworks/Swing/BadlyOverriddenAdapter.ql +++ b/java/ql/src/Likely Bugs/Frameworks/Swing/BadlyOverriddenAdapter.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/wrong-swing-event-adapter-signature + * @suites security-and-quality * @tags reliability * maintainability * frameworks/swing diff --git a/java/ql/src/Likely Bugs/Inheritance/NoNonFinalInConstructor.ql b/java/ql/src/Likely Bugs/Inheritance/NoNonFinalInConstructor.ql index 618160538970..23f69d5fb0fd 100644 --- a/java/ql/src/Likely Bugs/Inheritance/NoNonFinalInConstructor.ql +++ b/java/ql/src/Likely Bugs/Inheritance/NoNonFinalInConstructor.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/non-final-call-in-constructor + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Likely Typos/ContainerSizeCmpZero.ql b/java/ql/src/Likely Bugs/Likely Typos/ContainerSizeCmpZero.ql index 01f0ceac56cd..572049690794 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/ContainerSizeCmpZero.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/ContainerSizeCmpZero.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision very-high * @id java/test-for-negative-container-size + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Likely Typos/ContradictoryTypeChecks.ql b/java/ql/src/Likely Bugs/Likely Typos/ContradictoryTypeChecks.ql index 9608ec937671..4f262ce5f427 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/ContradictoryTypeChecks.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/ContradictoryTypeChecks.ql @@ -7,6 +7,8 @@ * @problem.severity error * @precision very-high * @id java/contradictory-type-checks + * @suites security-and-quality + * quality * @tags correctness * logic */ diff --git a/java/ql/src/Likely Bugs/Likely Typos/DangerousNonCircuitLogic.ql b/java/ql/src/Likely Bugs/Likely Typos/DangerousNonCircuitLogic.ql index 8d9409059f8e..2dd294395b10 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/DangerousNonCircuitLogic.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/DangerousNonCircuitLogic.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/non-short-circuit-evaluation + * @suites security-and-quality * @tags reliability * readability * external/cwe/cwe-691 diff --git a/java/ql/src/Likely Bugs/Likely Typos/EqualsTypo.ql b/java/ql/src/Likely Bugs/Likely Typos/EqualsTypo.ql index 585306be9583..002acbe110f1 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/EqualsTypo.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/EqualsTypo.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision medium * @id java/equals-typo + * @suites security-and-quality * @tags maintainability * readability * naming diff --git a/java/ql/src/Likely Bugs/Likely Typos/HashCodeTypo.ql b/java/ql/src/Likely Bugs/Likely Typos/HashCodeTypo.ql index 7a69f9f7953f..d2b45cba2fd6 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/HashCodeTypo.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/HashCodeTypo.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision medium * @id java/hashcode-typo + * @suites security-and-quality * @tags maintainability * readability * naming diff --git a/java/ql/src/Likely Bugs/Likely Typos/MissingFormatArg.ql b/java/ql/src/Likely Bugs/Likely Typos/MissingFormatArg.ql index 2297873be82e..db8bf97e5d26 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/MissingFormatArg.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/MissingFormatArg.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/missing-format-argument + * @suites security-and-quality * @tags correctness * external/cwe/cwe-685 */ diff --git a/java/ql/src/Likely Bugs/Likely Typos/MissingSpaceTypo.ql b/java/ql/src/Likely Bugs/Likely Typos/MissingSpaceTypo.ql index f9f2c08f0b8a..d31da148b8c3 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/MissingSpaceTypo.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/MissingSpaceTypo.ql @@ -7,6 +7,7 @@ * @problem.severity recommendation * @precision very-high * @id java/missing-space-in-concatenation + * @suites security-and-quality * @tags readability */ diff --git a/java/ql/src/Likely Bugs/Likely Typos/SelfAssignment.ql b/java/ql/src/Likely Bugs/Likely Typos/SelfAssignment.ql index 83eb99d74980..93a7d40d9e22 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/SelfAssignment.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/SelfAssignment.ql @@ -5,6 +5,7 @@ * @problem.severity error * @precision very-high * @id java/redundant-assignment + * @suites security-and-quality * @tags reliability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Likely Typos/StringBufferCharInit.ql b/java/ql/src/Likely Bugs/Likely Typos/StringBufferCharInit.ql index 3eb9ee38e575..3bdc30b977b9 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/StringBufferCharInit.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/StringBufferCharInit.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision very-high * @id java/string-buffer-char-init + * @suites security-and-quality * @tags reliability * maintainability */ diff --git a/java/ql/src/Likely Bugs/Likely Typos/SuspiciousDateFormat.ql b/java/ql/src/Likely Bugs/Likely Typos/SuspiciousDateFormat.ql index b39da1aa870d..c1ee4419ff29 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/SuspiciousDateFormat.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/SuspiciousDateFormat.ql @@ -5,6 +5,8 @@ * @problem.severity warning * @precision high * @id java/suspicious-date-format + * @suites security-and-quality + * quality * @tags correctness */ diff --git a/java/ql/src/Likely Bugs/Likely Typos/ToStringTypo.ql b/java/ql/src/Likely Bugs/Likely Typos/ToStringTypo.ql index 928d9f5a7cc4..165311242a77 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/ToStringTypo.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/ToStringTypo.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision medium * @id java/tostring-typo + * @suites security-and-quality * @tags maintainability * readability * naming diff --git a/java/ql/src/Likely Bugs/Likely Typos/UnusedFormatArg.ql b/java/ql/src/Likely Bugs/Likely Typos/UnusedFormatArg.ql index 286c731b5b86..b5bc071763ca 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/UnusedFormatArg.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/UnusedFormatArg.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision very-high * @id java/unused-format-argument + * @suites security-and-quality * @tags maintainability * useless-code * external/cwe/cwe-685 diff --git a/java/ql/src/Likely Bugs/Nullness/NullAlways.ql b/java/ql/src/Likely Bugs/Nullness/NullAlways.ql index c52c43acc554..66067cb2ec3d 100644 --- a/java/ql/src/Likely Bugs/Nullness/NullAlways.ql +++ b/java/ql/src/Likely Bugs/Nullness/NullAlways.ql @@ -5,6 +5,7 @@ * @problem.severity error * @precision very-high * @id java/dereferenced-value-is-always-null + * @suites security-and-quality * @tags reliability * correctness * exceptions diff --git a/java/ql/src/Likely Bugs/Nullness/NullExprDeref.ql b/java/ql/src/Likely Bugs/Nullness/NullExprDeref.ql index 7929c839a41d..ea02ab08473a 100644 --- a/java/ql/src/Likely Bugs/Nullness/NullExprDeref.ql +++ b/java/ql/src/Likely Bugs/Nullness/NullExprDeref.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision high * @id java/dereferenced-expr-may-be-null + * @suites security-and-quality * @tags reliability * correctness * exceptions diff --git a/java/ql/src/Likely Bugs/Nullness/NullMaybe.ql b/java/ql/src/Likely Bugs/Nullness/NullMaybe.ql index eedb2907f466..543bb1d934f9 100644 --- a/java/ql/src/Likely Bugs/Nullness/NullMaybe.ql +++ b/java/ql/src/Likely Bugs/Nullness/NullMaybe.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision high * @id java/dereferenced-value-may-be-null + * @suites security-and-quality * @tags reliability * correctness * exceptions diff --git a/java/ql/src/Likely Bugs/Reflection/AnnotationPresentCheck.ql b/java/ql/src/Likely Bugs/Reflection/AnnotationPresentCheck.ql index 0bfb4b45a5a5..bdae7bf551f7 100644 --- a/java/ql/src/Likely Bugs/Reflection/AnnotationPresentCheck.ql +++ b/java/ql/src/Likely Bugs/Reflection/AnnotationPresentCheck.ql @@ -6,6 +6,7 @@ * @problem.severity error * @precision medium * @id java/ineffective-annotation-present-check + * @suites security-and-quality * @tags correctness * logic */ diff --git a/java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql b/java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql index 92da62633d8a..e2fffedae141 100644 --- a/java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql +++ b/java/ql/src/Likely Bugs/Resource Leaks/CloseReader.ql @@ -6,6 +6,8 @@ * @problem.severity warning * @precision high * @id java/input-resource-leak + * @suites security-and-quality + * quality * @tags efficiency * correctness * resources diff --git a/java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql b/java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql index e7584aba67dc..454f74107a13 100644 --- a/java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql +++ b/java/ql/src/Likely Bugs/Resource Leaks/CloseSql.ql @@ -5,6 +5,7 @@ * @problem.severity warning * @precision high * @id java/database-resource-leak + * @suites security-and-quality * @tags correctness * resources * external/cwe/cwe-404 diff --git a/java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql b/java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql index fa04de220bf4..9051be4c76d1 100644 --- a/java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql +++ b/java/ql/src/Likely Bugs/Resource Leaks/CloseWriter.ql @@ -6,6 +6,8 @@ * @problem.severity warning * @precision high * @id java/output-resource-leak + * @suites security-and-quality + * quality * @tags efficiency * correctness * resources diff --git a/java/ql/src/Likely Bugs/Serialization/IncorrectSerialVersionUID.ql b/java/ql/src/Likely Bugs/Serialization/IncorrectSerialVersionUID.ql index af86d90d690d..07ecbb5cdcde 100644 --- a/java/ql/src/Likely Bugs/Serialization/IncorrectSerialVersionUID.ql +++ b/java/ql/src/Likely Bugs/Serialization/IncorrectSerialVersionUID.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/incorrect-serial-version-uid + * @suites security-and-quality * @tags reliability * maintainability * language-features diff --git a/java/ql/src/Likely Bugs/Serialization/IncorrectSerializableMethods.ql b/java/ql/src/Likely Bugs/Serialization/IncorrectSerializableMethods.ql index 815245d1a7d3..ce57e86cd894 100644 --- a/java/ql/src/Likely Bugs/Serialization/IncorrectSerializableMethods.ql +++ b/java/ql/src/Likely Bugs/Serialization/IncorrectSerializableMethods.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/wrong-object-serialization-signature + * @suites security-and-quality * @tags reliability * maintainability * language-features diff --git a/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorOnExternalizable.ql b/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorOnExternalizable.ql index 44c92634fe07..d8ca629f4548 100644 --- a/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorOnExternalizable.ql +++ b/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorOnExternalizable.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/missing-no-arg-constructor-on-externalizable + * @suites security-and-quality * @tags reliability * maintainability * language-features diff --git a/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorsOnSerializable.ql b/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorsOnSerializable.ql index 651908b0b865..ce5b75c3adf5 100644 --- a/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorsOnSerializable.ql +++ b/java/ql/src/Likely Bugs/Serialization/MissingVoidConstructorsOnSerializable.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/missing-no-arg-constructor-on-serializable + * @suites security-and-quality * @tags reliability * maintainability * language-features diff --git a/java/ql/src/Likely Bugs/Serialization/NonSerializableInnerClass.ql b/java/ql/src/Likely Bugs/Serialization/NonSerializableInnerClass.ql index 8081c551eed3..7ad5120f370f 100644 --- a/java/ql/src/Likely Bugs/Serialization/NonSerializableInnerClass.ql +++ b/java/ql/src/Likely Bugs/Serialization/NonSerializableInnerClass.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/non-serializable-inner-class + * @suites security-and-quality * @tags reliability * maintainability * language-features diff --git a/java/ql/src/Likely Bugs/Serialization/ReadResolveObject.ql b/java/ql/src/Likely Bugs/Serialization/ReadResolveObject.ql index 64e5a4833628..424096951d6d 100644 --- a/java/ql/src/Likely Bugs/Serialization/ReadResolveObject.ql +++ b/java/ql/src/Likely Bugs/Serialization/ReadResolveObject.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/wrong-readresolve-signature + * @suites security-and-quality * @tags reliability * maintainability * language-features diff --git a/java/ql/src/Likely Bugs/Statements/ContinueInFalseLoop.ql b/java/ql/src/Likely Bugs/Statements/ContinueInFalseLoop.ql index b99f64a1e4de..ff04c48af58c 100644 --- a/java/ql/src/Likely Bugs/Statements/ContinueInFalseLoop.ql +++ b/java/ql/src/Likely Bugs/Statements/ContinueInFalseLoop.ql @@ -8,6 +8,7 @@ * @id java/continue-in-false-loop * @problem.severity warning * @precision high + * @suites security-and-quality * @tags correctness */ diff --git a/java/ql/src/Likely Bugs/Statements/MissingEnumInSwitch.ql b/java/ql/src/Likely Bugs/Statements/MissingEnumInSwitch.ql index d1cdb8bdfbbb..be01917ebe32 100644 --- a/java/ql/src/Likely Bugs/Statements/MissingEnumInSwitch.ql +++ b/java/ql/src/Likely Bugs/Statements/MissingEnumInSwitch.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/missing-case-in-switch + * @suites security-and-quality * @tags reliability * readability * external/cwe/cwe-478 diff --git a/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql b/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql index e3e9e45cc643..436c90febed6 100644 --- a/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql +++ b/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision high * @id java/unreachable-catch-clause + * @suites security-and-quality * @tags reliability * correctness * exceptions diff --git a/java/ql/src/Likely Bugs/Statements/UseBraces.ql b/java/ql/src/Likely Bugs/Statements/UseBraces.ql index e9c8a082f3f0..11ab5b7fc47c 100644 --- a/java/ql/src/Likely Bugs/Statements/UseBraces.ql +++ b/java/ql/src/Likely Bugs/Statements/UseBraces.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/misleading-indentation + * @suites security-and-quality * @tags maintainability * correctness * logic diff --git a/java/ql/src/Likely Bugs/Termination/ConstantLoopCondition.ql b/java/ql/src/Likely Bugs/Termination/ConstantLoopCondition.ql index 9cf8ab9b61fd..766d0d667ea2 100644 --- a/java/ql/src/Likely Bugs/Termination/ConstantLoopCondition.ql +++ b/java/ql/src/Likely Bugs/Termination/ConstantLoopCondition.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision very-high * @id java/constant-loop-condition + * @suites security-and-quality * @tags correctness * external/cwe/cwe-835 */ diff --git a/java/ql/src/Likely Bugs/Termination/SpinOnField.ql b/java/ql/src/Likely Bugs/Termination/SpinOnField.ql index 8675bbd418b0..7f427312d62f 100644 --- a/java/ql/src/Likely Bugs/Termination/SpinOnField.ql +++ b/java/ql/src/Likely Bugs/Termination/SpinOnField.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/spin-on-field + * @suites security-and-quality * @tags efficiency * correctness * concurrency diff --git a/java/ql/src/Performance/InefficientEmptyStringTest.ql b/java/ql/src/Performance/InefficientEmptyStringTest.ql index 0033bcf12845..4af133145487 100644 --- a/java/ql/src/Performance/InefficientEmptyStringTest.ql +++ b/java/ql/src/Performance/InefficientEmptyStringTest.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/inefficient-empty-string-test + * @suites security-and-quality * @tags efficiency * maintainability */ diff --git a/java/ql/src/Performance/InefficientKeySetIterator.ql b/java/ql/src/Performance/InefficientKeySetIterator.ql index 2dbe8831cb12..e9734dc7c6d8 100644 --- a/java/ql/src/Performance/InefficientKeySetIterator.ql +++ b/java/ql/src/Performance/InefficientKeySetIterator.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/inefficient-key-set-iterator + * @suites security-and-quality * @tags efficiency * maintainability */ diff --git a/java/ql/src/Performance/InefficientOutputStream.ql b/java/ql/src/Performance/InefficientOutputStream.ql index 5ddf568b79af..da01fcf40314 100644 --- a/java/ql/src/Performance/InefficientOutputStream.ql +++ b/java/ql/src/Performance/InefficientOutputStream.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/inefficient-output-stream + * @suites security-and-quality * @tags efficiency */ diff --git a/java/ql/src/Performance/InefficientPrimConstructor.ql b/java/ql/src/Performance/InefficientPrimConstructor.ql index e8992b017f96..b089ab394ebc 100644 --- a/java/ql/src/Performance/InefficientPrimConstructor.ql +++ b/java/ql/src/Performance/InefficientPrimConstructor.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/inefficient-boxed-constructor + * @suites security-and-quality * @tags efficiency * maintainability */ diff --git a/java/ql/src/Performance/InnerClassCouldBeStatic.ql b/java/ql/src/Performance/InnerClassCouldBeStatic.ql index 95d3057c9629..f40605afd5cf 100644 --- a/java/ql/src/Performance/InnerClassCouldBeStatic.ql +++ b/java/ql/src/Performance/InnerClassCouldBeStatic.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/non-static-nested-class + * @suites security-and-quality * @tags efficiency * maintainability */ diff --git a/java/ql/src/Performance/NewStringString.ql b/java/ql/src/Performance/NewStringString.ql index b2f26069ea2c..53c70450a08b 100644 --- a/java/ql/src/Performance/NewStringString.ql +++ b/java/ql/src/Performance/NewStringString.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/inefficient-string-constructor + * @suites security-and-quality * @tags efficiency * maintainability */ diff --git a/java/ql/src/Violations of Best Practice/Boxed Types/BoxedVariable.ql b/java/ql/src/Violations of Best Practice/Boxed Types/BoxedVariable.ql index 1749dc2ffa4b..821abefdb3f6 100644 --- a/java/ql/src/Violations of Best Practice/Boxed Types/BoxedVariable.ql +++ b/java/ql/src/Violations of Best Practice/Boxed Types/BoxedVariable.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/non-null-boxed-variable + * @suites security-and-quality * @tags readability * types */ diff --git a/java/ql/src/Violations of Best Practice/Dead Code/CreatesEmptyZip.ql b/java/ql/src/Violations of Best Practice/Dead Code/CreatesEmptyZip.ql index a2b6afbbeee0..47168790d723 100644 --- a/java/ql/src/Violations of Best Practice/Dead Code/CreatesEmptyZip.ql +++ b/java/ql/src/Violations of Best Practice/Dead Code/CreatesEmptyZip.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/empty-zip-file-entry + * @suites security-and-quality * @tags reliability * readability */ diff --git a/java/ql/src/Violations of Best Practice/Dead Code/DeadRefTypes.ql b/java/ql/src/Violations of Best Practice/Dead Code/DeadRefTypes.ql index 3688ca215365..0e3764e16da8 100644 --- a/java/ql/src/Violations of Best Practice/Dead Code/DeadRefTypes.ql +++ b/java/ql/src/Violations of Best Practice/Dead Code/DeadRefTypes.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/unused-reference-type + * @suites security-and-quality * @tags maintainability * useless-code * external/cwe/cwe-561 diff --git a/java/ql/src/Violations of Best Practice/Dead Code/InterfaceCannotBeImplemented.ql b/java/ql/src/Violations of Best Practice/Dead Code/InterfaceCannotBeImplemented.ql index 892ebf9fdb11..db6df689a119 100644 --- a/java/ql/src/Violations of Best Practice/Dead Code/InterfaceCannotBeImplemented.ql +++ b/java/ql/src/Violations of Best Practice/Dead Code/InterfaceCannotBeImplemented.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/unimplementable-interface + * @suites security-and-quality * @tags maintainability * useless-code */ diff --git a/java/ql/src/Violations of Best Practice/Dead Code/UnreadLocal.ql b/java/ql/src/Violations of Best Practice/Dead Code/UnreadLocal.ql index 31697e561edb..2eacb1601454 100644 --- a/java/ql/src/Violations of Best Practice/Dead Code/UnreadLocal.ql +++ b/java/ql/src/Violations of Best Practice/Dead Code/UnreadLocal.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/local-variable-is-never-read + * @suites security-and-quality * @tags maintainability * useless-code * external/cwe/cwe-561 diff --git a/java/ql/src/Violations of Best Practice/Dead Code/UnusedLabel.ql b/java/ql/src/Violations of Best Practice/Dead Code/UnusedLabel.ql index cc453f1334eb..733203721d6e 100644 --- a/java/ql/src/Violations of Best Practice/Dead Code/UnusedLabel.ql +++ b/java/ql/src/Violations of Best Practice/Dead Code/UnusedLabel.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/unused-label + * @suites security-and-quality * @tags maintainability * useless-code * external/cwe/cwe-561 diff --git a/java/ql/src/Violations of Best Practice/Declarations/NoConstantsOnly.ql b/java/ql/src/Violations of Best Practice/Declarations/NoConstantsOnly.ql index fb0482413d14..8d16095ec5ed 100644 --- a/java/ql/src/Violations of Best Practice/Declarations/NoConstantsOnly.ql +++ b/java/ql/src/Violations of Best Practice/Declarations/NoConstantsOnly.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/constants-only-interface + * @suites security-and-quality * @tags maintainability * modularity */ diff --git a/java/ql/src/Violations of Best Practice/Exception Handling/IgnoreExceptionalReturn.ql b/java/ql/src/Violations of Best Practice/Exception Handling/IgnoreExceptionalReturn.ql index 2e95c087ed54..cc67fe24473b 100644 --- a/java/ql/src/Violations of Best Practice/Exception Handling/IgnoreExceptionalReturn.ql +++ b/java/ql/src/Violations of Best Practice/Exception Handling/IgnoreExceptionalReturn.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/ignored-error-status-of-call + * @suites security-and-quality * @tags reliability * correctness * external/cwe/cwe-391 diff --git a/java/ql/src/Violations of Best Practice/Exception Handling/NumberFormatException.ql b/java/ql/src/Violations of Best Practice/Exception Handling/NumberFormatException.ql index 6a7928b4561b..40050b203fdd 100644 --- a/java/ql/src/Violations of Best Practice/Exception Handling/NumberFormatException.ql +++ b/java/ql/src/Violations of Best Practice/Exception Handling/NumberFormatException.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/uncaught-number-format-exception + * @suites security-and-quality * @tags reliability * external/cwe/cwe-248 */ diff --git a/java/ql/src/Violations of Best Practice/Implementation Hiding/AbstractToConcreteCollection.ql b/java/ql/src/Violations of Best Practice/Implementation Hiding/AbstractToConcreteCollection.ql index 670156cfccb9..c7f60bc7e4f6 100644 --- a/java/ql/src/Violations of Best Practice/Implementation Hiding/AbstractToConcreteCollection.ql +++ b/java/ql/src/Violations of Best Practice/Implementation Hiding/AbstractToConcreteCollection.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/abstract-to-concrete-cast + * @suites security-and-quality * @tags reliability * maintainability * modularity diff --git a/java/ql/src/Violations of Best Practice/Implementation Hiding/ExposeRepresentation.ql b/java/ql/src/Violations of Best Practice/Implementation Hiding/ExposeRepresentation.ql index 98c1e1a2fbea..616ed8b63d44 100644 --- a/java/ql/src/Violations of Best Practice/Implementation Hiding/ExposeRepresentation.ql +++ b/java/ql/src/Violations of Best Practice/Implementation Hiding/ExposeRepresentation.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/internal-representation-exposure + * @suites security-and-quality * @tags reliability * maintainability * modularity diff --git a/java/ql/src/Violations of Best Practice/Implementation Hiding/GetClassGetResource.ql b/java/ql/src/Violations of Best Practice/Implementation Hiding/GetClassGetResource.ql index 7f52c495835e..97be16c10c4d 100644 --- a/java/ql/src/Violations of Best Practice/Implementation Hiding/GetClassGetResource.ql +++ b/java/ql/src/Violations of Best Practice/Implementation Hiding/GetClassGetResource.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/unsafe-get-resource + * @suites security-and-quality * @tags reliability * maintainability */ diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/AmbiguousOuterSuper.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/AmbiguousOuterSuper.ql index a52a6d816880..0943bbaab243 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/AmbiguousOuterSuper.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/AmbiguousOuterSuper.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision very-high * @id java/subtle-inherited-call + * @suites security-and-quality * @tags reliability * readability */ diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNames.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNames.ql index 1c44dad78cc1..eac5224b87fc 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNames.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNames.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/confusing-method-name + * @suites security-and-quality * @tags maintainability * readability * naming diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql index 96188c534ffa..04dd667c3088 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql @@ -7,6 +7,7 @@ * @problem.severity recommendation * @precision high * @id java/confusing-method-signature + * @suites security-and-quality * @tags maintainability * readability * naming diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/FieldMasksSuperField.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/FieldMasksSuperField.ql index faf64b0ae5ed..2cf100287979 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/FieldMasksSuperField.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/FieldMasksSuperField.ql @@ -7,6 +7,7 @@ * @problem.severity warning * @precision medium * @id java/field-masks-super-field + * @suites security-and-quality * @tags maintainability * readability */ diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql index f686e18f2ee4..0a9b9143284f 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/local-shadows-field + * @suites security-and-quality * @tags maintainability * readability */ diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql index a9f99658f946..19264acd006a 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/class-name-matches-super-class + * @suites security-and-quality * @tags maintainability * readability * naming diff --git a/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToRunFinalizersOnExit.ql b/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToRunFinalizersOnExit.ql index c2ffe45b5209..09605c7e6265 100644 --- a/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToRunFinalizersOnExit.ql +++ b/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToRunFinalizersOnExit.ql @@ -7,6 +7,7 @@ * @problem.severity error * @precision medium * @id java/run-finalizers-on-exit + * @suites security-and-quality * @tags reliability * maintainability */ diff --git a/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql b/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql index 9b1bcb9877cb..8c1d6a6596e2 100644 --- a/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql +++ b/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql @@ -5,6 +5,7 @@ * @problem.severity recommendation * @precision high * @id java/useless-tostring-call + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql b/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql index d404e4a929a4..5f0e4b950602 100644 --- a/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql +++ b/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision high * @id java/call-to-object-tostring + * @suites security-and-quality * @tags reliability * maintainability */ diff --git a/java/ql/src/Violations of Best Practice/Undesirable Calls/NextFromIterator.ql b/java/ql/src/Violations of Best Practice/Undesirable Calls/NextFromIterator.ql index ebdf55761989..737a6ead12a0 100644 --- a/java/ql/src/Violations of Best Practice/Undesirable Calls/NextFromIterator.ql +++ b/java/ql/src/Violations of Best Practice/Undesirable Calls/NextFromIterator.ql @@ -6,6 +6,7 @@ * @problem.severity warning * @precision medium * @id java/iterator-hasnext-calls-next + * @suites security-and-quality * @tags reliability * correctness */ diff --git a/java/ql/src/Violations of Best Practice/Undesirable Calls/PrintLnArray.ql b/java/ql/src/Violations of Best Practice/Undesirable Calls/PrintLnArray.ql index f356aa635d4a..105f9a143202 100644 --- a/java/ql/src/Violations of Best Practice/Undesirable Calls/PrintLnArray.ql +++ b/java/ql/src/Violations of Best Practice/Undesirable Calls/PrintLnArray.ql @@ -6,6 +6,7 @@ * @problem.severity recommendation * @precision very-high * @id java/print-array + * @suites security-and-quality * @tags maintainability */ diff --git a/java/ql/src/codeql-suites/java-code-quality.qls b/java/ql/src/codeql-suites/java-code-quality.qls index ac1f52624c4f..d8d4a6b909af 100644 --- a/java/ql/src/codeql-suites/java-code-quality.qls +++ b/java/ql/src/codeql-suites/java-code-quality.qls @@ -1,14 +1,4 @@ - queries: . - include: - id: - - java/suspicious-date-format - - java/integer-multiplication-cast-to-long - - java/equals-on-unrelated-types - - java/contradictory-type-checks - - java/reference-equality-of-boxed-types - - java/inconsistent-equals-and-hashcode - - java/unchecked-cast-in-equals - - java/unused-container - - java/input-resource-leak - - java/output-resource-leak - - java/type-variable-hides-type \ No newline at end of file + suites contain: + - quality diff --git a/java/ql/src/codeql-suites/java-security-and-quality.qls b/java/ql/src/codeql-suites/java-security-and-quality.qls index 2b9ca6c132f1..b2c2057f11f1 100644 --- a/java/ql/src/codeql-suites/java-security-and-quality.qls +++ b/java/ql/src/codeql-suites/java-security-and-quality.qls @@ -1,4 +1,44 @@ - description: Security-and-quality queries for Java - queries: . -- apply: security-and-quality-selectors.yml - from: codeql/suite-helpers +- include: + kind: + - problem + - path-problem + precision: + - high + - very-high + tags contain: + - security +- include: + kind: + - problem + - path-problem + precision: + - medium + problem.severity: + - error + - warning + tags contain: + - security +- include: + suites contain: + - security-and-quality +- include: + kind: + - diagnostic +- include: + kind: + - metric + tags contain: + - summary +- exclude: + deprecated: // +- exclude: + query path: + - /^experimental\/.*/ + - Metrics/Summaries/FrameworkCoverage.ql + - /Diagnostics/Internal/.*/ +- exclude: + tags contain: + - modeleditor + - modelgenerator