diff --git a/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality.qls.expected b/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality.qls.expected index 1ce0a7be5042..53810418624d 100644 --- a/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality.qls.expected +++ b/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality.qls.expected @@ -1,20 +1,72 @@ ql/csharp/ql/src/API Abuse/CallToGCCollect.ql +ql/csharp/ql/src/API Abuse/CallToObsoleteMethod.ql +ql/csharp/ql/src/API Abuse/ClassImplementsICloneable.ql ql/csharp/ql/src/API Abuse/FormatInvalid.ql ql/csharp/ql/src/API Abuse/NoDisposeCallOnLocalIDisposable.ql +ql/csharp/ql/src/API Abuse/NullArgumentToEquals.ql +ql/csharp/ql/src/ASP/BlockCodeResponseWrite.ql +ql/csharp/ql/src/Bad Practices/CallsUnmanagedCode.ql +ql/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.ql ql/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql +ql/csharp/ql/src/Bad Practices/Declarations/LocalScopeVariableShadowsMember.ql +ql/csharp/ql/src/Bad Practices/EmptyCatchBlock.ql +ql/csharp/ql/src/Bad Practices/Implementation Hiding/ExposeRepresentation.ql +ql/csharp/ql/src/Bad Practices/Naming Conventions/FieldMasksSuperField.ql +ql/csharp/ql/src/Bad Practices/Naming Conventions/SameNameAsSuper.ql +ql/csharp/ql/src/Bad Practices/PathCombine.ql +ql/csharp/ql/src/Bad Practices/UnmanagedCodeCheck.ql +ql/csharp/ql/src/CSI/CompareIdenticalValues.ql ql/csharp/ql/src/CSI/NullAlways.ql ql/csharp/ql/src/CSI/NullMaybe.ql +ql/csharp/ql/src/Concurrency/FutileSyncOnField.ql +ql/csharp/ql/src/Concurrency/LockOrder.ql +ql/csharp/ql/src/Concurrency/LockThis.ql +ql/csharp/ql/src/Concurrency/LockedWait.ql ql/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql +ql/csharp/ql/src/Documentation/XmldocMissingSummary.ql +ql/csharp/ql/src/Language Abuse/CastThisToTypeParameter.ql +ql/csharp/ql/src/Language Abuse/CatchOfGenericException.ql +ql/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql +ql/csharp/ql/src/Language Abuse/DubiousTypeTestOfThis.ql ql/csharp/ql/src/Language Abuse/MissedReadonlyOpportunity.ql +ql/csharp/ql/src/Language Abuse/MissedTernaryOpportunity.ql +ql/csharp/ql/src/Language Abuse/MissedUsingOpportunity.ql +ql/csharp/ql/src/Language Abuse/NestedIf.ql +ql/csharp/ql/src/Language Abuse/RethrowException.ql +ql/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql +ql/csharp/ql/src/Language Abuse/UnusedPropertyValue.ql ql/csharp/ql/src/Likely Bugs/Collections/ContainerLengthCmpOffByOne.ql ql/csharp/ql/src/Likely Bugs/Collections/ContainerSizeCmpZero.ql +ql/csharp/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql +ql/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql +ql/csharp/ql/src/Likely Bugs/ConstantComparison.ql ql/csharp/ql/src/Likely Bugs/DangerousNonShortCircuitLogic.ql ql/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql +ql/csharp/ql/src/Likely Bugs/EqualsArray.ql ql/csharp/ql/src/Likely Bugs/HashedButNoHash.ql +ql/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql +ql/csharp/ql/src/Likely Bugs/IncomparableEquals.ql +ql/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql +ql/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql +ql/csharp/ql/src/Likely Bugs/RecursiveEquals.ql ql/csharp/ql/src/Likely Bugs/ReferenceEqualsOnValueTypes.ql ql/csharp/ql/src/Likely Bugs/SelfAssignment.ql +ql/csharp/ql/src/Likely Bugs/Statements/EmptyBlock.ql +ql/csharp/ql/src/Likely Bugs/Statements/EmptyLockStatement.ql +ql/csharp/ql/src/Likely Bugs/StaticFieldWrittenByInstance.ql +ql/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql ql/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql +ql/csharp/ql/src/Linq/MissedAllOpportunity.ql +ql/csharp/ql/src/Linq/MissedCastOpportunity.ql +ql/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql +ql/csharp/ql/src/Linq/MissedSelectOpportunity.ql +ql/csharp/ql/src/Linq/MissedWhereOpportunity.ql +ql/csharp/ql/src/Linq/RedundantSelect.ql +ql/csharp/ql/src/Performance/StringBuilderInLoop.ql ql/csharp/ql/src/Performance/StringConcatenationInLoop.ql ql/csharp/ql/src/Performance/UseTryGetValue.ql ql/csharp/ql/src/Useless code/DefaultToString.ql +ql/csharp/ql/src/Useless code/FutileConditional.ql ql/csharp/ql/src/Useless code/IntGetHashCode.ql +ql/csharp/ql/src/Useless code/RedundantToStringCall.ql +ql/csharp/ql/src/Useless code/UnusedLabel.ql diff --git a/csharp/ql/src/API Abuse/CallToGCCollect.ql b/csharp/ql/src/API Abuse/CallToGCCollect.ql index 1757336d32af..b6b892e085e0 100644 --- a/csharp/ql/src/API Abuse/CallToGCCollect.ql +++ b/csharp/ql/src/API Abuse/CallToGCCollect.ql @@ -5,9 +5,9 @@ * @problem.severity warning * @precision very-high * @id cs/call-to-gc - * @tags efficiency - * maintainability - * quality + * @tags quality + * reliability + * performance */ import csharp diff --git a/csharp/ql/src/API Abuse/CallToObsoleteMethod.ql b/csharp/ql/src/API Abuse/CallToObsoleteMethod.ql index 8ec7119107e7..4b70b779567e 100644 --- a/csharp/ql/src/API Abuse/CallToObsoleteMethod.ql +++ b/csharp/ql/src/API Abuse/CallToObsoleteMethod.ql @@ -6,8 +6,9 @@ * @problem.severity warning * @precision very-high * @id cs/call-to-obsolete-method - * @tags changeability + * @tags quality * maintainability + * changeability * external/cwe/cwe-477 */ diff --git a/csharp/ql/src/API Abuse/ClassImplementsICloneable.ql b/csharp/ql/src/API Abuse/ClassImplementsICloneable.ql index 71f19b639dc4..43caeecbcd28 100644 --- a/csharp/ql/src/API Abuse/ClassImplementsICloneable.ql +++ b/csharp/ql/src/API Abuse/ClassImplementsICloneable.ql @@ -6,7 +6,7 @@ * @problem.severity recommendation * @precision very-high * @id cs/class-implements-icloneable - * @tags reliability + * @tags quality * maintainability */ diff --git a/csharp/ql/src/API Abuse/FormatInvalid.ql b/csharp/ql/src/API Abuse/FormatInvalid.ql index 2bcd15612eea..d213cce805fc 100644 --- a/csharp/ql/src/API Abuse/FormatInvalid.ql +++ b/csharp/ql/src/API Abuse/FormatInvalid.ql @@ -6,9 +6,9 @@ * @problem.severity error * @precision high * @id cs/invalid-string-formatting - * @tags reliability - * maintainability - * quality + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/API Abuse/NoDisposeCallOnLocalIDisposable.ql b/csharp/ql/src/API Abuse/NoDisposeCallOnLocalIDisposable.ql index f02b0d49b542..3fc8e07f6afe 100644 --- a/csharp/ql/src/API Abuse/NoDisposeCallOnLocalIDisposable.ql +++ b/csharp/ql/src/API Abuse/NoDisposeCallOnLocalIDisposable.ql @@ -6,9 +6,10 @@ * @problem.severity warning * @precision high * @id cs/local-not-disposed - * @tags efficiency - * maintainability - * quality + * @tags quality + * reliability + * correctness + * efficiency * external/cwe/cwe-404 * external/cwe/cwe-459 * external/cwe/cwe-460 diff --git a/csharp/ql/src/API Abuse/NullArgumentToEquals.ql b/csharp/ql/src/API Abuse/NullArgumentToEquals.ql index ec644f3f56c2..14347965eb7d 100644 --- a/csharp/ql/src/API Abuse/NullArgumentToEquals.ql +++ b/csharp/ql/src/API Abuse/NullArgumentToEquals.ql @@ -6,7 +6,8 @@ * @problem.severity warning * @precision high * @id cs/null-argument-to-equals - * @tags reliability + * @tags quality + * reliability * correctness */ diff --git a/csharp/ql/src/ASP/BlockCodeResponseWrite.ql b/csharp/ql/src/ASP/BlockCodeResponseWrite.ql index 369a4a5bb4e1..93f43342f0ee 100644 --- a/csharp/ql/src/ASP/BlockCodeResponseWrite.ql +++ b/csharp/ql/src/ASP/BlockCodeResponseWrite.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/asp/response-write - * @tags maintainability + * @tags quality + * maintainability + * readability * frameworks/asp.net */ diff --git a/csharp/ql/src/Architecture/Refactoring Opportunities/InappropriateIntimacy.ql b/csharp/ql/src/Architecture/Refactoring Opportunities/InappropriateIntimacy.ql index 3e9ae20c97c1..78f6ab5b57a3 100644 --- a/csharp/ql/src/Architecture/Refactoring Opportunities/InappropriateIntimacy.ql +++ b/csharp/ql/src/Architecture/Refactoring Opportunities/InappropriateIntimacy.ql @@ -7,6 +7,7 @@ * @precision high * @id cs/coupled-types * @tags maintainability + * complexity * modularity */ diff --git a/csharp/ql/src/Bad Practices/CallsUnmanagedCode.ql b/csharp/ql/src/Bad Practices/CallsUnmanagedCode.ql index 035e22c7d3e8..4ff3dfffcf00 100644 --- a/csharp/ql/src/Bad Practices/CallsUnmanagedCode.ql +++ b/csharp/ql/src/Bad Practices/CallsUnmanagedCode.ql @@ -5,8 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/call-to-unmanaged-code - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.ql b/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.ql index a78d6b99c1cf..39dba529b17d 100644 --- a/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.ql +++ b/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.ql @@ -5,8 +5,10 @@ * @problem.severity warning * @precision very-high * @id cs/catch-nullreferenceexception - * @tags reliability + * @tags quality + * reliability * correctness + * error-handling * external/cwe/cwe-395 */ diff --git a/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql b/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql index 7bfdea1e9064..5ec702f77e04 100644 --- a/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql +++ b/csharp/ql/src/Bad Practices/Control-Flow/ConstantCondition.ql @@ -7,9 +7,9 @@ * @problem.severity warning * @precision very-high * @id cs/constant-condition - * @tags maintainability + * @tags quality + * maintainability * readability - * quality * external/cwe/cwe-835 */ diff --git a/csharp/ql/src/Bad Practices/Declarations/LocalScopeVariableShadowsMember.ql b/csharp/ql/src/Bad Practices/Declarations/LocalScopeVariableShadowsMember.ql index 766fb6d890a6..cd1401a2c782 100644 --- a/csharp/ql/src/Bad Practices/Declarations/LocalScopeVariableShadowsMember.ql +++ b/csharp/ql/src/Bad Practices/Declarations/LocalScopeVariableShadowsMember.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision high * @id cs/local-shadows-member - * @tags maintainability + * @tags quality + * maintainability * readability */ diff --git a/csharp/ql/src/Bad Practices/Declarations/TooManyRefParameters.ql b/csharp/ql/src/Bad Practices/Declarations/TooManyRefParameters.ql index 048aad579785..05ebd97484c5 100644 --- a/csharp/ql/src/Bad Practices/Declarations/TooManyRefParameters.ql +++ b/csharp/ql/src/Bad Practices/Declarations/TooManyRefParameters.ql @@ -6,8 +6,9 @@ * @problem.severity recommendation * @precision very-high * @id cs/too-many-ref-parameters - * @tags testability + * @tags maintainability * readability + * testability */ import csharp diff --git a/csharp/ql/src/Bad Practices/EmptyCatchBlock.ql b/csharp/ql/src/Bad Practices/EmptyCatchBlock.ql index 144d53dc61f4..7f2996566e36 100644 --- a/csharp/ql/src/Bad Practices/EmptyCatchBlock.ql +++ b/csharp/ql/src/Bad Practices/EmptyCatchBlock.ql @@ -5,8 +5,9 @@ * @problem.severity recommendation * @precision very-high * @id cs/empty-catch-block - * @tags reliability - * readability + * @tags quality + * reliability + * error-handling * exceptions * external/cwe/cwe-390 * external/cwe/cwe-391 diff --git a/csharp/ql/src/Bad Practices/Implementation Hiding/ExposeRepresentation.ql b/csharp/ql/src/Bad Practices/Implementation Hiding/ExposeRepresentation.ql index 3aec796daf78..8c86e2a41872 100644 --- a/csharp/ql/src/Bad Practices/Implementation Hiding/ExposeRepresentation.ql +++ b/csharp/ql/src/Bad Practices/Implementation Hiding/ExposeRepresentation.ql @@ -6,7 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/expose-implementation - * @tags reliability + * @tags quality + * reliability + * correctness * external/cwe/cwe-485 */ diff --git a/csharp/ql/src/Bad Practices/Naming Conventions/FieldMasksSuperField.ql b/csharp/ql/src/Bad Practices/Naming Conventions/FieldMasksSuperField.ql index 3515e710d82a..2fe61148ed20 100644 --- a/csharp/ql/src/Bad Practices/Naming Conventions/FieldMasksSuperField.ql +++ b/csharp/ql/src/Bad Practices/Naming Conventions/FieldMasksSuperField.ql @@ -7,7 +7,8 @@ * @problem.severity warning * @precision high * @id cs/field-masks-base-field - * @tags reliability + * @tags quality + * maintainability * readability * naming */ diff --git a/csharp/ql/src/Bad Practices/Naming Conventions/SameNameAsSuper.ql b/csharp/ql/src/Bad Practices/Naming Conventions/SameNameAsSuper.ql index 83c795a3985f..d292fd93422b 100644 --- a/csharp/ql/src/Bad Practices/Naming Conventions/SameNameAsSuper.ql +++ b/csharp/ql/src/Bad Practices/Naming Conventions/SameNameAsSuper.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision high * @id cs/class-name-matches-base-class - * @tags maintainability + * @tags quality + * maintainability * readability * naming */ diff --git a/csharp/ql/src/Bad Practices/PathCombine.ql b/csharp/ql/src/Bad Practices/PathCombine.ql index aa841486bdff..24d358e83aa5 100644 --- a/csharp/ql/src/Bad Practices/PathCombine.ql +++ b/csharp/ql/src/Bad Practices/PathCombine.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision very-high * @id cs/path-combine - * @tags reliability + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Bad Practices/UnmanagedCodeCheck.ql b/csharp/ql/src/Bad Practices/UnmanagedCodeCheck.ql index 6a59fa1d1fae..4103e29b0141 100644 --- a/csharp/ql/src/Bad Practices/UnmanagedCodeCheck.ql +++ b/csharp/ql/src/Bad Practices/UnmanagedCodeCheck.ql @@ -5,8 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/unmanaged-code - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/CSI/CompareIdenticalValues.ql b/csharp/ql/src/CSI/CompareIdenticalValues.ql index 55f48d5f9a9e..503067a8a3eb 100644 --- a/csharp/ql/src/CSI/CompareIdenticalValues.ql +++ b/csharp/ql/src/CSI/CompareIdenticalValues.ql @@ -7,7 +7,9 @@ * @problem.severity warning * @precision high * @id cs/comparison-of-identical-expressions - * @tags reliability + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/CSI/NullAlways.ql b/csharp/ql/src/CSI/NullAlways.ql index 1696f857fde5..f8b7791ab895 100644 --- a/csharp/ql/src/CSI/NullAlways.ql +++ b/csharp/ql/src/CSI/NullAlways.ql @@ -5,11 +5,11 @@ * @problem.severity error * @precision very-high * @id cs/dereferenced-value-is-always-null - * @tags reliability + * @tags quality + * reliability * correctness * exceptions * external/cwe/cwe-476 - * quality */ import csharp diff --git a/csharp/ql/src/CSI/NullMaybe.ql b/csharp/ql/src/CSI/NullMaybe.ql index c69df839958b..67873ebb291e 100644 --- a/csharp/ql/src/CSI/NullMaybe.ql +++ b/csharp/ql/src/CSI/NullMaybe.ql @@ -6,11 +6,11 @@ * @problem.severity warning * @precision high * @id cs/dereferenced-value-may-be-null - * @tags reliability + * @tags quality + * reliability * correctness * exceptions * external/cwe/cwe-476 - * quality */ import csharp diff --git a/csharp/ql/src/Complexity/BlockWithTooManyStatements.ql b/csharp/ql/src/Complexity/BlockWithTooManyStatements.ql index e725b6e1a944..783ab64a3754 100644 --- a/csharp/ql/src/Complexity/BlockWithTooManyStatements.ql +++ b/csharp/ql/src/Complexity/BlockWithTooManyStatements.ql @@ -8,8 +8,8 @@ * @precision high * @id cs/complex-block * @tags maintainability - * testability * complexity + * testability */ import csharp diff --git a/csharp/ql/src/Complexity/ComplexCondition.ql b/csharp/ql/src/Complexity/ComplexCondition.ql index 2813db1cda5f..0afb27e2a945 100644 --- a/csharp/ql/src/Complexity/ComplexCondition.ql +++ b/csharp/ql/src/Complexity/ComplexCondition.ql @@ -5,8 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/complex-condition - * @tags testability + * @tags maintainability * readability + * testability */ import csharp diff --git a/csharp/ql/src/Concurrency/FutileSyncOnField.ql b/csharp/ql/src/Concurrency/FutileSyncOnField.ql index 01beb9c90408..c2b59cc5e227 100644 --- a/csharp/ql/src/Concurrency/FutileSyncOnField.ql +++ b/csharp/ql/src/Concurrency/FutileSyncOnField.ql @@ -6,9 +6,10 @@ * @problem.severity error * @precision high * @id cs/unsafe-sync-on-field - * @tags reliability - * correctness + * @tags quality + * reliability * concurrency + * correctness * external/cwe/cwe-662 * external/cwe/cwe-366 */ diff --git a/csharp/ql/src/Concurrency/LockOrder.ql b/csharp/ql/src/Concurrency/LockOrder.ql index 923f4bba2ce5..2803a15afd85 100644 --- a/csharp/ql/src/Concurrency/LockOrder.ql +++ b/csharp/ql/src/Concurrency/LockOrder.ql @@ -5,9 +5,10 @@ * @problem.severity error * @precision high * @id cs/inconsistent-lock-sequence - * @tags reliability - * correctness + * @tags quality + * reliability * concurrency + * correctness * external/cwe/cwe-662 */ diff --git a/csharp/ql/src/Concurrency/LockThis.ql b/csharp/ql/src/Concurrency/LockThis.ql index 59d08337d300..81fd2045d367 100644 --- a/csharp/ql/src/Concurrency/LockThis.ql +++ b/csharp/ql/src/Concurrency/LockThis.ql @@ -6,8 +6,9 @@ * @problem.severity warning * @precision high * @id cs/lock-this - * @tags reliability - * maintainability + * @tags quality + * reliability + * concurrency * modularity * external/cwe/cwe-662 */ diff --git a/csharp/ql/src/Concurrency/LockedWait.ql b/csharp/ql/src/Concurrency/LockedWait.ql index b59736fc72ba..dbba723ab095 100644 --- a/csharp/ql/src/Concurrency/LockedWait.ql +++ b/csharp/ql/src/Concurrency/LockedWait.ql @@ -5,9 +5,10 @@ * @problem.severity warning * @precision high * @id cs/locked-wait - * @tags reliability - * correctness + * @tags quality + * reliability * concurrency + * correctness * external/cwe/cwe-662 * external/cwe/cwe-833 */ diff --git a/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql b/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql index 5be820ee74c0..0f6e6d11fb2c 100644 --- a/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql +++ b/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity warning * @id cs/useless-assignment-to-local - * @tags maintainability - * quality + * @tags quality + * maintainability + * useless-code * external/cwe/cwe-563 * @precision very-high */ diff --git a/csharp/ql/src/Documentation/XmldocMissingSummary.ql b/csharp/ql/src/Documentation/XmldocMissingSummary.ql index 312848b6bdf1..43b76d38017a 100644 --- a/csharp/ql/src/Documentation/XmldocMissingSummary.ql +++ b/csharp/ql/src/Documentation/XmldocMissingSummary.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/xmldoc/missing-summary - * @tags maintainability + * @tags quality + * maintainability + * readability */ import Documentation diff --git a/csharp/ql/src/Language Abuse/CastThisToTypeParameter.ql b/csharp/ql/src/Language Abuse/CastThisToTypeParameter.ql index 0842845ed271..d394e1c08a40 100644 --- a/csharp/ql/src/Language Abuse/CastThisToTypeParameter.ql +++ b/csharp/ql/src/Language Abuse/CastThisToTypeParameter.ql @@ -5,8 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/cast-of-this-to-type-parameter - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness * language-features */ diff --git a/csharp/ql/src/Language Abuse/CatchOfGenericException.ql b/csharp/ql/src/Language Abuse/CatchOfGenericException.ql index c0a4b0196410..e31a63372953 100644 --- a/csharp/ql/src/Language Abuse/CatchOfGenericException.ql +++ b/csharp/ql/src/Language Abuse/CatchOfGenericException.ql @@ -6,8 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/catch-of-all-exceptions - * @tags reliability - * maintainability + * @tags quality + * reliability + * error-handling * external/cwe/cwe-396 */ diff --git a/csharp/ql/src/Language Abuse/ChainedIs.ql b/csharp/ql/src/Language Abuse/ChainedIs.ql index c10e5dc67323..ec66e150baef 100644 --- a/csharp/ql/src/Language Abuse/ChainedIs.ql +++ b/csharp/ql/src/Language Abuse/ChainedIs.ql @@ -6,8 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/chained-type-tests - * @tags changeability - * maintainability + * @tags reliability + * performance + * changeability * language-features */ diff --git a/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql b/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql index 4082a2b3ce8d..9439956f4c11 100644 --- a/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql +++ b/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql @@ -5,8 +5,10 @@ * @problem.severity warning * @precision high * @id cs/downcast-of-this - * @tags testability - * maintainability + * @tags quality + * reliability + * correctness + * testability * language-features */ diff --git a/csharp/ql/src/Language Abuse/DubiousTypeTestOfThis.ql b/csharp/ql/src/Language Abuse/DubiousTypeTestOfThis.ql index fe5cd65266ab..da61754f46e4 100644 --- a/csharp/ql/src/Language Abuse/DubiousTypeTestOfThis.ql +++ b/csharp/ql/src/Language Abuse/DubiousTypeTestOfThis.ql @@ -5,8 +5,10 @@ * @problem.severity warning * @precision high * @id cs/type-test-of-this - * @tags testability - * maintainability + * @tags quality + * reliability + * correctness + * testability * language-features */ diff --git a/csharp/ql/src/Language Abuse/MissedReadonlyOpportunity.ql b/csharp/ql/src/Language Abuse/MissedReadonlyOpportunity.ql index 78cce5126dfc..20016a17f2e4 100644 --- a/csharp/ql/src/Language Abuse/MissedReadonlyOpportunity.ql +++ b/csharp/ql/src/Language Abuse/MissedReadonlyOpportunity.ql @@ -6,9 +6,10 @@ * @problem.severity recommendation * @precision high * @id cs/missed-readonly-modifier - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features - * quality */ import csharp diff --git a/csharp/ql/src/Language Abuse/MissedTernaryOpportunity.ql b/csharp/ql/src/Language Abuse/MissedTernaryOpportunity.ql index b8da7e43cc5b..bd7492b8583e 100644 --- a/csharp/ql/src/Language Abuse/MissedTernaryOpportunity.ql +++ b/csharp/ql/src/Language Abuse/MissedTernaryOpportunity.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/missed-ternary-operator - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Language Abuse/MissedUsingOpportunity.ql b/csharp/ql/src/Language Abuse/MissedUsingOpportunity.ql index 1e3534dee696..f3d5414060b9 100644 --- a/csharp/ql/src/Language Abuse/MissedUsingOpportunity.ql +++ b/csharp/ql/src/Language Abuse/MissedUsingOpportunity.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/missed-using-statement - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Language Abuse/NestedIf.ql b/csharp/ql/src/Language Abuse/NestedIf.ql index 4532fbbebeed..2541d4b7d738 100644 --- a/csharp/ql/src/Language Abuse/NestedIf.ql +++ b/csharp/ql/src/Language Abuse/NestedIf.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/nested-if-statements - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Language Abuse/RethrowException.ql b/csharp/ql/src/Language Abuse/RethrowException.ql index bd3e29029075..ff5f40d3bd0d 100644 --- a/csharp/ql/src/Language Abuse/RethrowException.ql +++ b/csharp/ql/src/Language Abuse/RethrowException.ql @@ -6,9 +6,10 @@ * @problem.severity warning * @precision very-high * @id cs/rethrown-exception-variable - * @tags maintainability + * @tags quality + * reliability + * error-handling * language-features - * exceptions */ import csharp diff --git a/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql b/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql index a8ce9c420655..8fea284ae317 100644 --- a/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql +++ b/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity recommendation * @precision high - * @tags readability + * @tags quality * maintainability + * readability */ import csharp diff --git a/csharp/ql/src/Language Abuse/UnusedPropertyValue.ql b/csharp/ql/src/Language Abuse/UnusedPropertyValue.ql index d1c2e9566fd3..4ae23430597e 100644 --- a/csharp/ql/src/Language Abuse/UnusedPropertyValue.ql +++ b/csharp/ql/src/Language Abuse/UnusedPropertyValue.ql @@ -6,8 +6,9 @@ * @problem.severity warning * @precision high * @id cs/unused-property-value - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness * language-features */ diff --git a/csharp/ql/src/Likely Bugs/Collections/ContainerLengthCmpOffByOne.ql b/csharp/ql/src/Likely Bugs/Collections/ContainerLengthCmpOffByOne.ql index 754ed8ad773e..230abf77a3f6 100644 --- a/csharp/ql/src/Likely Bugs/Collections/ContainerLengthCmpOffByOne.ql +++ b/csharp/ql/src/Likely Bugs/Collections/ContainerLengthCmpOffByOne.ql @@ -6,11 +6,10 @@ * @problem.severity error * @precision high * @id cs/index-out-of-bounds - * @tags reliability + * @tags quality + * reliability * correctness - * logic - * quality - * external/cwe/cwe-193 + * external/cwe/cwe-193 */ import csharp diff --git a/csharp/ql/src/Likely Bugs/Collections/ContainerSizeCmpZero.ql b/csharp/ql/src/Likely Bugs/Collections/ContainerSizeCmpZero.ql index 90f5b981e24b..44ead3cfd97a 100644 --- a/csharp/ql/src/Likely Bugs/Collections/ContainerSizeCmpZero.ql +++ b/csharp/ql/src/Likely Bugs/Collections/ContainerSizeCmpZero.ql @@ -5,10 +5,9 @@ * @problem.severity warning * @precision very-high * @id cs/test-for-negative-container-size - * @tags reliability + * @tags quality + * reliability * correctness - * logic - * quality */ import csharp diff --git a/csharp/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql b/csharp/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql index 15dbf92bc9f2..f429a52982bf 100644 --- a/csharp/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql +++ b/csharp/ql/src/Likely Bugs/Collections/ReadOnlyContainer.ql @@ -5,9 +5,9 @@ * @problem.severity error * @precision high * @id cs/empty-collection - * @tags reliability - * maintainability - * useless-code + * @tags quality + * reliability + * correctness * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql b/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql index 1a36fc733e5f..5a24a1f5f519 100644 --- a/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql +++ b/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql @@ -5,7 +5,8 @@ * @problem.severity error * @precision high * @id cs/unused-collection - * @tags maintainability + * @tags quality + * maintainability * useless-code * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Likely Bugs/ConstantComparison.ql b/csharp/ql/src/Likely Bugs/ConstantComparison.ql index 790cb53e80b7..983523482142 100644 --- a/csharp/ql/src/Likely Bugs/ConstantComparison.ql +++ b/csharp/ql/src/Likely Bugs/ConstantComparison.ql @@ -5,7 +5,9 @@ * @problem.severity warning * @precision high * @id cs/constant-comparison - * @tags correctness + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Likely Bugs/DangerousNonShortCircuitLogic.ql b/csharp/ql/src/Likely Bugs/DangerousNonShortCircuitLogic.ql index f3defa47a430..d40a28450fca 100644 --- a/csharp/ql/src/Likely Bugs/DangerousNonShortCircuitLogic.ql +++ b/csharp/ql/src/Likely Bugs/DangerousNonShortCircuitLogic.ql @@ -6,10 +6,9 @@ * @problem.severity error * @precision high * @id cs/non-short-circuit - * @tags reliability + * @tags quality + * reliability * correctness - * logic - * quality * external/cwe/cwe-480 * external/cwe/cwe-691 */ diff --git a/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql b/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql index 108e6f45f94f..ba7710a87931 100644 --- a/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql +++ b/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql @@ -7,9 +7,9 @@ * @problem.severity warning * @precision high * @id cs/equality-on-floats - * @tags reliability + * @tags quality + * reliability * correctness - * quality */ import csharp diff --git a/csharp/ql/src/Likely Bugs/EqualsArray.ql b/csharp/ql/src/Likely Bugs/EqualsArray.ql index 78d86d61364f..36978278e04d 100644 --- a/csharp/ql/src/Likely Bugs/EqualsArray.ql +++ b/csharp/ql/src/Likely Bugs/EqualsArray.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision high * @id cs/equals-on-arrays - * @tags reliability + * @tags quality + * reliability * correctness */ diff --git a/csharp/ql/src/Likely Bugs/HashedButNoHash.ql b/csharp/ql/src/Likely Bugs/HashedButNoHash.ql index ae457dc2b781..575605a5c54c 100644 --- a/csharp/ql/src/Likely Bugs/HashedButNoHash.ql +++ b/csharp/ql/src/Likely Bugs/HashedButNoHash.ql @@ -5,9 +5,9 @@ * @problem.severity warning * @precision high * @id cs/gethashcode-is-not-defined - * @tags reliability - * maintainability - * quality + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql b/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql index a3a9f66f3f7f..60719f7587b6 100644 --- a/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql +++ b/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql @@ -5,9 +5,9 @@ * @problem.severity error * @precision high * @id cs/impossible-array-cast - * @tags reliability + * @tags quality + * reliability * correctness - * logic */ import csharp diff --git a/csharp/ql/src/Likely Bugs/IncomparableEquals.ql b/csharp/ql/src/Likely Bugs/IncomparableEquals.ql index 9c1aac0cef93..f5bb977f7404 100644 --- a/csharp/ql/src/Likely Bugs/IncomparableEquals.ql +++ b/csharp/ql/src/Likely Bugs/IncomparableEquals.ql @@ -5,7 +5,8 @@ * @problem.severity error * @precision high * @id cs/equals-on-unrelated-types - * @tags reliability + * @tags quality + * reliability * correctness */ diff --git a/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql b/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql index 848246a0b462..0831eb561997 100644 --- a/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql +++ b/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql @@ -6,9 +6,9 @@ * @problem.severity warning * @precision high * @id cs/nested-loops-with-same-variable - * @tags maintainability + * @tags quality + * reliability * correctness - * logic */ import csharp diff --git a/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql b/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql index 1f97debc4ef1..c66bbbeedbdd 100644 --- a/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql +++ b/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql @@ -6,7 +6,8 @@ * @problem.severity error * @precision high * @id cs/loss-of-precision - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-190 * external/cwe/cwe-192 diff --git a/csharp/ql/src/Likely Bugs/RecursiveEquals.ql b/csharp/ql/src/Likely Bugs/RecursiveEquals.ql index c82c36aa50ee..b1ce4a73354f 100644 --- a/csharp/ql/src/Likely Bugs/RecursiveEquals.ql +++ b/csharp/ql/src/Likely Bugs/RecursiveEquals.ql @@ -6,8 +6,9 @@ * @problem.severity error * @precision high * @id cs/recursive-equals-call - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Likely Bugs/ReferenceEqualsOnValueTypes.ql b/csharp/ql/src/Likely Bugs/ReferenceEqualsOnValueTypes.ql index de29f6109ad3..a73aaf443d8d 100644 --- a/csharp/ql/src/Likely Bugs/ReferenceEqualsOnValueTypes.ql +++ b/csharp/ql/src/Likely Bugs/ReferenceEqualsOnValueTypes.ql @@ -5,9 +5,9 @@ * @problem.severity error * @precision high * @id cs/reference-equality-on-valuetypes - * @tags reliability + * @tags quality + * reliability * correctness - * quality * external/cwe/cwe-595 */ diff --git a/csharp/ql/src/Likely Bugs/SelfAssignment.ql b/csharp/ql/src/Likely Bugs/SelfAssignment.ql index e010d18292cd..f01a1378242e 100644 --- a/csharp/ql/src/Likely Bugs/SelfAssignment.ql +++ b/csharp/ql/src/Likely Bugs/SelfAssignment.ql @@ -5,10 +5,9 @@ * @problem.severity error * @precision high * @id cs/self-assignment - * @tags reliability + * @tags quality + * reliability * correctness - * logic - * quality */ import csharp diff --git a/csharp/ql/src/Likely Bugs/Statements/EmptyBlock.ql b/csharp/ql/src/Likely Bugs/Statements/EmptyBlock.ql index 5929e7e8f918..92664ce8792e 100644 --- a/csharp/ql/src/Likely Bugs/Statements/EmptyBlock.ql +++ b/csharp/ql/src/Likely Bugs/Statements/EmptyBlock.ql @@ -6,8 +6,9 @@ * @problem.severity warning * @precision high * @id cs/empty-block - * @tags reliability - * readability + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Likely Bugs/Statements/EmptyLockStatement.ql b/csharp/ql/src/Likely Bugs/Statements/EmptyLockStatement.ql index 4f2b37518765..ddcc7ef01950 100644 --- a/csharp/ql/src/Likely Bugs/Statements/EmptyLockStatement.ql +++ b/csharp/ql/src/Likely Bugs/Statements/EmptyLockStatement.ql @@ -6,9 +6,10 @@ * @problem.severity warning * @precision high * @id cs/empty-lock-statement - * @tags changeability - * readability + * @tags quality + * reliability * concurrency + * changeability * language-features * external/cwe/cwe-585 */ diff --git a/csharp/ql/src/Likely Bugs/StaticFieldWrittenByInstance.ql b/csharp/ql/src/Likely Bugs/StaticFieldWrittenByInstance.ql index 4acea4a35b3a..4dd78a81aab1 100644 --- a/csharp/ql/src/Likely Bugs/StaticFieldWrittenByInstance.ql +++ b/csharp/ql/src/Likely Bugs/StaticFieldWrittenByInstance.ql @@ -7,7 +7,7 @@ * @problem.severity recommendation * @precision high * @id cs/static-field-written-by-instance - * @tags reliability + * @tags quality * maintainability * modularity */ diff --git a/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql b/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql index f2d0a61efe26..2e96cdb4b365 100644 --- a/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql +++ b/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql @@ -6,7 +6,9 @@ * @problem.severity error * @precision high * @id cs/stringbuilder-initialized-with-character - * @tags maintainability + * @tags quality + * reliability + * correctness */ import semmle.code.csharp.frameworks.system.Text diff --git a/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql b/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql index d1e2dbdf0563..5c11a77f30df 100644 --- a/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql +++ b/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql @@ -5,9 +5,9 @@ * @problem.severity warning * @precision high * @id cs/unchecked-cast-in-equals - * @tags reliability - * maintainability - * quality + * @tags quality + * reliability + * correctness */ import csharp diff --git a/csharp/ql/src/Linq/MissedAllOpportunity.ql b/csharp/ql/src/Linq/MissedAllOpportunity.ql index 54fe40faeec1..1c03372d23b6 100644 --- a/csharp/ql/src/Linq/MissedAllOpportunity.ql +++ b/csharp/ql/src/Linq/MissedAllOpportunity.ql @@ -6,7 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/linq/missed-all - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Linq/MissedCastOpportunity.ql b/csharp/ql/src/Linq/MissedCastOpportunity.ql index 8d3de1f31b47..d40009e24c89 100644 --- a/csharp/ql/src/Linq/MissedCastOpportunity.ql +++ b/csharp/ql/src/Linq/MissedCastOpportunity.ql @@ -6,7 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/linq/missed-cast - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql b/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql index 3d61acfa523d..a4c8dff4b538 100644 --- a/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql +++ b/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql @@ -6,7 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/linq/missed-oftype - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Linq/MissedSelectOpportunity.ql b/csharp/ql/src/Linq/MissedSelectOpportunity.ql index 9f36c3de82bb..8ea2a1c11d73 100644 --- a/csharp/ql/src/Linq/MissedSelectOpportunity.ql +++ b/csharp/ql/src/Linq/MissedSelectOpportunity.ql @@ -6,7 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/linq/missed-select - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Linq/MissedWhereOpportunity.ql b/csharp/ql/src/Linq/MissedWhereOpportunity.ql index 401248d61761..62b34b93305a 100644 --- a/csharp/ql/src/Linq/MissedWhereOpportunity.ql +++ b/csharp/ql/src/Linq/MissedWhereOpportunity.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision high * @id cs/linq/missed-where - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features */ diff --git a/csharp/ql/src/Linq/RedundantSelect.ql b/csharp/ql/src/Linq/RedundantSelect.ql index 5dea1ababfd3..73b1c92d247a 100644 --- a/csharp/ql/src/Linq/RedundantSelect.ql +++ b/csharp/ql/src/Linq/RedundantSelect.ql @@ -5,7 +5,9 @@ * @problem.severity warning * @precision very-high * @id cs/linq/useless-select - * @tags maintainability + * @tags quality + * maintainability + * useless-code * language-features * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Performance/StringBuilderInLoop.ql b/csharp/ql/src/Performance/StringBuilderInLoop.ql index 8becb0c7eb26..f1f23ebf5e0d 100644 --- a/csharp/ql/src/Performance/StringBuilderInLoop.ql +++ b/csharp/ql/src/Performance/StringBuilderInLoop.ql @@ -5,7 +5,9 @@ * @problem.severity recommendation * @precision very-high * @id cs/stringbuilder-creation-in-loop - * @tags efficiency + * @tags quality + * reliability + * performance */ import csharp diff --git a/csharp/ql/src/Performance/StringConcatenationInLoop.ql b/csharp/ql/src/Performance/StringConcatenationInLoop.ql index b1b420434e94..a015771610d5 100644 --- a/csharp/ql/src/Performance/StringConcatenationInLoop.ql +++ b/csharp/ql/src/Performance/StringConcatenationInLoop.ql @@ -5,9 +5,9 @@ * @problem.severity recommendation * @precision very-high * @id cs/string-concatenation-in-loop - * @tags efficiency - * maintainability - * quality + * @tags quality + * reliability + * performance */ import csharp diff --git a/csharp/ql/src/Performance/UseTryGetValue.ql b/csharp/ql/src/Performance/UseTryGetValue.ql index c33c0d1e8d7c..3eb97931f304 100644 --- a/csharp/ql/src/Performance/UseTryGetValue.ql +++ b/csharp/ql/src/Performance/UseTryGetValue.ql @@ -6,9 +6,9 @@ * @problem.severity recommendation * @precision high * @id cs/inefficient-containskey - * @tags maintainability - * efficiency - * quality + * @tags quality + * reliability + * performance */ import csharp diff --git a/csharp/ql/src/Useless code/DefaultToString.ql b/csharp/ql/src/Useless code/DefaultToString.ql index ea33fe7874b6..c0039fc90520 100644 --- a/csharp/ql/src/Useless code/DefaultToString.ql +++ b/csharp/ql/src/Useless code/DefaultToString.ql @@ -6,9 +6,9 @@ * @problem.severity warning * @precision very-high * @id cs/call-to-object-tostring - * @tags reliability - * maintainability - * quality + * @tags quality + * reliability + * correctness */ import DefaultToStringQuery diff --git a/csharp/ql/src/Useless code/FutileConditional.ql b/csharp/ql/src/Useless code/FutileConditional.ql index d77fd55a434a..c1ef924bfdd3 100644 --- a/csharp/ql/src/Useless code/FutileConditional.ql +++ b/csharp/ql/src/Useless code/FutileConditional.ql @@ -5,8 +5,10 @@ * @problem.severity warning * @precision very-high * @id cs/useless-if-statement - * @tags reliability + * @tags quality + * maintainability * readability + * useless-code */ import csharp diff --git a/csharp/ql/src/Useless code/IntGetHashCode.ql b/csharp/ql/src/Useless code/IntGetHashCode.ql index 847443d018e6..94849639f3dd 100644 --- a/csharp/ql/src/Useless code/IntGetHashCode.ql +++ b/csharp/ql/src/Useless code/IntGetHashCode.ql @@ -6,9 +6,10 @@ * @problem.severity recommendation * @precision high * @id cs/useless-gethashcode-call - * @tags readability + * @tags quality + * maintainability + * readability * useless-code - * quality */ import csharp diff --git a/csharp/ql/src/Useless code/RedundantToStringCall.ql b/csharp/ql/src/Useless code/RedundantToStringCall.ql index f0507f9d8a43..55e7056e9a08 100644 --- a/csharp/ql/src/Useless code/RedundantToStringCall.ql +++ b/csharp/ql/src/Useless code/RedundantToStringCall.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision high * @id cs/useless-tostring-call - * @tags maintainability + * @tags quality + * maintainability * useless-code */ diff --git a/csharp/ql/src/Useless code/UnusedLabel.ql b/csharp/ql/src/Useless code/UnusedLabel.ql index 53ba4180f14e..cc625cbc5212 100644 --- a/csharp/ql/src/Useless code/UnusedLabel.ql +++ b/csharp/ql/src/Useless code/UnusedLabel.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision high * @id cs/unused-label - * @tags maintainability + * @tags quality + * maintainability * useless-code */ diff --git a/csharp/ql/src/change-notes/2025-06-16-tagging.md b/csharp/ql/src/change-notes/2025-06-16-tagging.md new file mode 100644 index 000000000000..d0b8d2c41eef --- /dev/null +++ b/csharp/ql/src/change-notes/2025-06-16-tagging.md @@ -0,0 +1,4 @@ +--- +category: queryMetadata +--- +* Query metadata tags have been systematically updated for many C# queries. Primary categorization as either `reliability` or `maintainability`, and relevant sub-category tags such as `readability`, `useless-code`, `complexity`, `performance`, `correctness`, `error-handling`, and `concurrency`. Aligns with the established [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).