From 5b79756ae1056b761da40313a156a6967876e17f Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 26 Aug 2025 15:33:15 +0200 Subject: [PATCH 1/2] C#: Add all medium precision quality queries to code-quality-extended. --- csharp/ql/src/API Abuse/ClassDoesNotImplementEquals.ql | 3 ++- csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql | 3 ++- csharp/ql/src/API Abuse/InconsistentEqualsGetHashCode.ql | 3 ++- csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql | 3 ++- csharp/ql/src/API Abuse/IncorrectEqualsSignature.ql | 3 ++- csharp/ql/src/API Abuse/NonOverridingMethod.ql | 3 ++- csharp/ql/src/ASP/SplitControlStructure.ql | 3 ++- csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql | 3 ++- csharp/ql/src/Bad Practices/Comments/TodoComments.ql | 3 ++- csharp/ql/src/Bad Practices/Declarations/NoConstantsOnly.ql | 3 ++- csharp/ql/src/Bad Practices/ErroneousClassCompare.ql | 3 ++- .../Implementation Hiding/AbstractToConcreteCollection.ql | 3 ++- .../ql/src/Bad Practices/Implementation Hiding/StaticArray.ql | 3 ++- .../Bad Practices/Naming Conventions/ConfusingMethodNames.ql | 3 ++- .../Naming Conventions/ConfusingOverridesNames.ql | 3 ++- .../Bad Practices/Naming Conventions/ControlNamePrefixes.ql | 3 ++- .../Bad Practices/Naming Conventions/DefaultControlNames.ql | 3 ++- csharp/ql/src/Bad Practices/UseOfSystemOutputStream.ql | 3 ++- .../src/Bad Practices/VirtualCallInConstructorOrDestructor.ql | 3 ++- csharp/ql/src/Concurrency/SynchSetUnsynchGet.ql | 3 ++- csharp/ql/src/Concurrency/UnsafeLazyInitialization.ql | 3 ++- csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql | 3 ++- csharp/ql/src/Documentation/XmldocExtraParam.ql | 3 ++- csharp/ql/src/Documentation/XmldocExtraTypeParam.ql | 3 ++- csharp/ql/src/Documentation/XmldocMissing.ql | 3 ++- csharp/ql/src/Language Abuse/ForeachCapture.ql | 3 ++- csharp/ql/src/Language Abuse/UselessCastToSelf.ql | 3 ++- csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql | 3 ++- .../ql/src/Language Abuse/UselessNullCoalescingExpression.ql | 3 ++- csharp/ql/src/Language Abuse/UselessTypeTest.ql | 3 ++- csharp/ql/src/Language Abuse/UselessUpcast.ql | 3 ++- csharp/ql/src/Likely Bugs/Dynamic/BadDynamicCall.ql | 3 ++- csharp/ql/src/Likely Bugs/EqualsUsesAs.ql | 3 ++- csharp/ql/src/Likely Bugs/EqualsUsesIs.ql | 3 ++- csharp/ql/src/Likely Bugs/InconsistentCompareTo.ql | 3 ++- csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql | 3 ++- csharp/ql/src/Likely Bugs/MishandlingJapaneseEra.ql | 3 ++- csharp/ql/src/Likely Bugs/ObjectComparison.ql | 3 ++- csharp/ql/src/Likely Bugs/RecursiveOperatorEquals.ql | 3 ++- csharp/ql/src/Likely Bugs/Statements/UseBraces.ql | 3 ++- csharp/ql/src/Linq/BadMultipleIteration.ql | 3 ++- csharp/ql/src/Useless code/PointlessForwardingMethod.ql | 3 ++- 42 files changed, 84 insertions(+), 42 deletions(-) diff --git a/csharp/ql/src/API Abuse/ClassDoesNotImplementEquals.ql b/csharp/ql/src/API Abuse/ClassDoesNotImplementEquals.ql index 0539cd27a667..0fab2a7f976e 100644 --- a/csharp/ql/src/API Abuse/ClassDoesNotImplementEquals.ql +++ b/csharp/ql/src/API Abuse/ClassDoesNotImplementEquals.ql @@ -7,7 +7,8 @@ * @problem.severity error * @precision medium * @id cs/class-missing-equals - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql b/csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql index 3349ee932510..4247ae418eb4 100644 --- a/csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql +++ b/csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql @@ -7,7 +7,8 @@ * @problem.severity warning * @precision medium * @id cs/dispose-not-called-on-throw - * @tags efficiency + * @tags quality + * efficiency * maintainability * external/cwe/cwe-404 * external/cwe/cwe-459 diff --git a/csharp/ql/src/API Abuse/InconsistentEqualsGetHashCode.ql b/csharp/ql/src/API Abuse/InconsistentEqualsGetHashCode.ql index 569716b3bc0a..f83d5776250f 100644 --- a/csharp/ql/src/API Abuse/InconsistentEqualsGetHashCode.ql +++ b/csharp/ql/src/API Abuse/InconsistentEqualsGetHashCode.ql @@ -6,7 +6,8 @@ * @problem.severity warning * @precision medium * @id cs/inconsistent-equals-and-gethashcode - * @tags reliability + * @tags quality + * reliability * maintainability * external/cwe/cwe-581 */ diff --git a/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql b/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql index 6f6c17566bfd..c367a53ca89f 100644 --- a/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql +++ b/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/wrong-compareto-signature - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/API Abuse/IncorrectEqualsSignature.ql b/csharp/ql/src/API Abuse/IncorrectEqualsSignature.ql index 7103cae4906a..721b30bcf8c9 100644 --- a/csharp/ql/src/API Abuse/IncorrectEqualsSignature.ql +++ b/csharp/ql/src/API Abuse/IncorrectEqualsSignature.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/wrong-equals-signature - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/API Abuse/NonOverridingMethod.ql b/csharp/ql/src/API Abuse/NonOverridingMethod.ql index 598ce670d9f4..b3fec3a9a8e5 100644 --- a/csharp/ql/src/API Abuse/NonOverridingMethod.ql +++ b/csharp/ql/src/API Abuse/NonOverridingMethod.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/nonoverriding-method - * @tags reliability + * @tags quality + * reliability * readability * naming */ diff --git a/csharp/ql/src/ASP/SplitControlStructure.ql b/csharp/ql/src/ASP/SplitControlStructure.ql index de7d44ccc1ea..5491136b14ca 100644 --- a/csharp/ql/src/ASP/SplitControlStructure.ql +++ b/csharp/ql/src/ASP/SplitControlStructure.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/asp/split-control-structure - * @tags maintainability + * @tags quality + * maintainability * frameworks/asp.net */ diff --git a/csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql b/csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql index c079cc16a2ab..48f69c2e727c 100644 --- a/csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql +++ b/csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/commented-out-code - * @tags maintainability + * @tags quality + * maintainability * statistical * non-attributable */ diff --git a/csharp/ql/src/Bad Practices/Comments/TodoComments.ql b/csharp/ql/src/Bad Practices/Comments/TodoComments.ql index 751c064bccf6..50104f55eb76 100644 --- a/csharp/ql/src/Bad Practices/Comments/TodoComments.ql +++ b/csharp/ql/src/Bad Practices/Comments/TodoComments.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/todo-comment - * @tags maintainability + * @tags quality + * maintainability * external/cwe/cwe-546 */ diff --git a/csharp/ql/src/Bad Practices/Declarations/NoConstantsOnly.ql b/csharp/ql/src/Bad Practices/Declarations/NoConstantsOnly.ql index 896b78046629..51e9d1e1b365 100644 --- a/csharp/ql/src/Bad Practices/Declarations/NoConstantsOnly.ql +++ b/csharp/ql/src/Bad Practices/Declarations/NoConstantsOnly.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/constants-only-interface - * @tags maintainability + * @tags quality + * maintainability * modularity */ diff --git a/csharp/ql/src/Bad Practices/ErroneousClassCompare.ql b/csharp/ql/src/Bad Practices/ErroneousClassCompare.ql index 134d612979b5..658484c2ba73 100644 --- a/csharp/ql/src/Bad Practices/ErroneousClassCompare.ql +++ b/csharp/ql/src/Bad Practices/ErroneousClassCompare.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/class-name-comparison - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-486 */ diff --git a/csharp/ql/src/Bad Practices/Implementation Hiding/AbstractToConcreteCollection.ql b/csharp/ql/src/Bad Practices/Implementation Hiding/AbstractToConcreteCollection.ql index 4becd8b58c35..c0104b0ae7e2 100644 --- a/csharp/ql/src/Bad Practices/Implementation Hiding/AbstractToConcreteCollection.ql +++ b/csharp/ql/src/Bad Practices/Implementation Hiding/AbstractToConcreteCollection.ql @@ -7,7 +7,8 @@ * @problem.severity warning * @precision medium * @id cs/cast-from-abstract-to-concrete-collection - * @tags reliability + * @tags quality + * reliability * maintainability * modularity * external/cwe/cwe-485 diff --git a/csharp/ql/src/Bad Practices/Implementation Hiding/StaticArray.ql b/csharp/ql/src/Bad Practices/Implementation Hiding/StaticArray.ql index 0d00adb50519..ef8e9f542778 100644 --- a/csharp/ql/src/Bad Practices/Implementation Hiding/StaticArray.ql +++ b/csharp/ql/src/Bad Practices/Implementation Hiding/StaticArray.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/static-array - * @tags reliability + * @tags quality + * reliability * maintainability * modularity * external/cwe/cwe-582 diff --git a/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingMethodNames.ql b/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingMethodNames.ql index 5e3f39d7a87a..46c14a7a7ad7 100644 --- a/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingMethodNames.ql +++ b/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingMethodNames.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/confusing-method-name - * @tags maintainability + * @tags quality + * maintainability * readability * naming */ diff --git a/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingOverridesNames.ql b/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingOverridesNames.ql index ae0853897298..3c1412c9419e 100644 --- a/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingOverridesNames.ql +++ b/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingOverridesNames.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/confusing-override-name - * @tags reliability + * @tags quality + * reliability * readability * naming */ diff --git a/csharp/ql/src/Bad Practices/Naming Conventions/ControlNamePrefixes.ql b/csharp/ql/src/Bad Practices/Naming Conventions/ControlNamePrefixes.ql index 550385d68286..e7487173bdef 100644 --- a/csharp/ql/src/Bad Practices/Naming Conventions/ControlNamePrefixes.ql +++ b/csharp/ql/src/Bad Practices/Naming Conventions/ControlNamePrefixes.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/web/unprefixed-control-name - * @tags maintainability + * @tags quality + * maintainability */ import csharp diff --git a/csharp/ql/src/Bad Practices/Naming Conventions/DefaultControlNames.ql b/csharp/ql/src/Bad Practices/Naming Conventions/DefaultControlNames.ql index 92aa5e9e0c2d..2f999159c22d 100644 --- a/csharp/ql/src/Bad Practices/Naming Conventions/DefaultControlNames.ql +++ b/csharp/ql/src/Bad Practices/Naming Conventions/DefaultControlNames.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/forms/default-control-name - * @tags readability + * @tags quality + * readability * naming */ diff --git a/csharp/ql/src/Bad Practices/UseOfSystemOutputStream.ql b/csharp/ql/src/Bad Practices/UseOfSystemOutputStream.ql index a5a9418bb157..aeb33ff14d86 100644 --- a/csharp/ql/src/Bad Practices/UseOfSystemOutputStream.ql +++ b/csharp/ql/src/Bad Practices/UseOfSystemOutputStream.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/console-output - * @tags maintainability + * @tags quality + * maintainability */ import csharp diff --git a/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql b/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql index d754f1a03c59..cbfc2f639d0b 100644 --- a/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql +++ b/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql @@ -6,7 +6,8 @@ * @precision medium * @id cs/virtual-call-in-constructor * @alternate-ids cs/virtual-call-in-constructor-or-destructor - * @tags reliability + * @tags quality + * reliability * maintainability * modularity */ diff --git a/csharp/ql/src/Concurrency/SynchSetUnsynchGet.ql b/csharp/ql/src/Concurrency/SynchSetUnsynchGet.ql index 9c8bb72708cf..babe11c09e64 100644 --- a/csharp/ql/src/Concurrency/SynchSetUnsynchGet.ql +++ b/csharp/ql/src/Concurrency/SynchSetUnsynchGet.ql @@ -6,7 +6,8 @@ * @problem.severity error * @precision medium * @id cs/unsynchronized-getter - * @tags correctness + * @tags quality + * correctness * concurrency * external/cwe/cwe-662 */ diff --git a/csharp/ql/src/Concurrency/UnsafeLazyInitialization.ql b/csharp/ql/src/Concurrency/UnsafeLazyInitialization.ql index 97b4fbdba8ee..489ed9a21e22 100644 --- a/csharp/ql/src/Concurrency/UnsafeLazyInitialization.ql +++ b/csharp/ql/src/Concurrency/UnsafeLazyInitialization.ql @@ -6,7 +6,8 @@ * @problem.severity error * @precision medium * @id cs/unsafe-double-checked-lock - * @tags correctness + * @tags quality + * correctness * concurrency * external/cwe/cwe-609 */ diff --git a/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql b/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql index 1ce94edee3d2..7c16264ec436 100644 --- a/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql +++ b/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql @@ -6,7 +6,8 @@ * @problem.severity error * @precision medium * @id cs/unsynchronized-static-access - * @tags concurrency + * @tags quality + * concurrency * external/cwe/cwe-362 * external/cwe/cwe-567 */ diff --git a/csharp/ql/src/Documentation/XmldocExtraParam.ql b/csharp/ql/src/Documentation/XmldocExtraParam.ql index a745edfb6d8f..10a6b25dea87 100644 --- a/csharp/ql/src/Documentation/XmldocExtraParam.ql +++ b/csharp/ql/src/Documentation/XmldocExtraParam.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/xmldoc/unknown-parameter - * @tags maintainability + * @tags quality + * maintainability */ import Documentation diff --git a/csharp/ql/src/Documentation/XmldocExtraTypeParam.ql b/csharp/ql/src/Documentation/XmldocExtraTypeParam.ql index 76c2039920dd..0efd6b3918aa 100644 --- a/csharp/ql/src/Documentation/XmldocExtraTypeParam.ql +++ b/csharp/ql/src/Documentation/XmldocExtraTypeParam.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/xmldoc/unknown-type-parameter - * @tags maintainability + * @tags quality + * maintainability */ import Documentation diff --git a/csharp/ql/src/Documentation/XmldocMissing.ql b/csharp/ql/src/Documentation/XmldocMissing.ql index e0e05c4893bf..f575c467db0a 100644 --- a/csharp/ql/src/Documentation/XmldocMissing.ql +++ b/csharp/ql/src/Documentation/XmldocMissing.ql @@ -6,7 +6,8 @@ * @problem.severity recommendation * @precision medium * @id cs/xmldoc/missing-xmldoc - * @tags maintainability + * @tags quality + * maintainability */ import Documentation diff --git a/csharp/ql/src/Language Abuse/ForeachCapture.ql b/csharp/ql/src/Language Abuse/ForeachCapture.ql index 0148796a2e72..2fae669ebf94 100644 --- a/csharp/ql/src/Language Abuse/ForeachCapture.ql +++ b/csharp/ql/src/Language Abuse/ForeachCapture.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/captured-foreach-variable - * @tags portability + * @tags quality + * portability * maintainability * language-features * external/cwe/cwe-758 diff --git a/csharp/ql/src/Language Abuse/UselessCastToSelf.ql b/csharp/ql/src/Language Abuse/UselessCastToSelf.ql index a182009dfc2d..9c5a368cdce6 100644 --- a/csharp/ql/src/Language Abuse/UselessCastToSelf.ql +++ b/csharp/ql/src/Language Abuse/UselessCastToSelf.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/useless-cast-to-self - * @tags maintainability + * @tags quality + * maintainability * language-features * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql b/csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql index 6a82c40d8404..90e06b24425e 100644 --- a/csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql +++ b/csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/useless-is-before-as - * @tags maintainability + * @tags quality + * maintainability * language-features * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Language Abuse/UselessNullCoalescingExpression.ql b/csharp/ql/src/Language Abuse/UselessNullCoalescingExpression.ql index ec73df23741c..28050acdb115 100644 --- a/csharp/ql/src/Language Abuse/UselessNullCoalescingExpression.ql +++ b/csharp/ql/src/Language Abuse/UselessNullCoalescingExpression.ql @@ -6,7 +6,8 @@ * @problem.severity error * @precision medium * @id cs/coalesce-of-identical-expressions - * @tags maintainability + * @tags quality + * maintainability * language-features * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Language Abuse/UselessTypeTest.ql b/csharp/ql/src/Language Abuse/UselessTypeTest.ql index 11e7df050471..58e10e81c8bb 100644 --- a/csharp/ql/src/Language Abuse/UselessTypeTest.ql +++ b/csharp/ql/src/Language Abuse/UselessTypeTest.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/useless-type-test - * @tags maintainability + * @tags quality + * maintainability * language-features * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Language Abuse/UselessUpcast.ql b/csharp/ql/src/Language Abuse/UselessUpcast.ql index a06dc60cc7ab..546078d052bd 100644 --- a/csharp/ql/src/Language Abuse/UselessUpcast.ql +++ b/csharp/ql/src/Language Abuse/UselessUpcast.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/useless-upcast - * @tags maintainability + * @tags quality + * maintainability * language-features * external/cwe/cwe-561 */ diff --git a/csharp/ql/src/Likely Bugs/Dynamic/BadDynamicCall.ql b/csharp/ql/src/Likely Bugs/Dynamic/BadDynamicCall.ql index 2efac6773f72..cbdff2f0a226 100644 --- a/csharp/ql/src/Likely Bugs/Dynamic/BadDynamicCall.ql +++ b/csharp/ql/src/Likely Bugs/Dynamic/BadDynamicCall.ql @@ -5,7 +5,8 @@ * @problem.severity error * @precision medium * @id cs/invalid-dynamic-call - * @tags reliability + * @tags quality + * reliability * correctness * logic * external/cwe/cwe-628 diff --git a/csharp/ql/src/Likely Bugs/EqualsUsesAs.ql b/csharp/ql/src/Likely Bugs/EqualsUsesAs.ql index 5c11e10c36b1..4b3a742e77b8 100644 --- a/csharp/ql/src/Likely Bugs/EqualsUsesAs.ql +++ b/csharp/ql/src/Likely Bugs/EqualsUsesAs.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/equals-uses-as - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/Likely Bugs/EqualsUsesIs.ql b/csharp/ql/src/Likely Bugs/EqualsUsesIs.ql index 775a295a6cb0..fb1836bd1b01 100644 --- a/csharp/ql/src/Likely Bugs/EqualsUsesIs.ql +++ b/csharp/ql/src/Likely Bugs/EqualsUsesIs.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/equals-uses-is - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/Likely Bugs/InconsistentCompareTo.ql b/csharp/ql/src/Likely Bugs/InconsistentCompareTo.ql index 2c4e69cb2060..627f5b32aab2 100644 --- a/csharp/ql/src/Likely Bugs/InconsistentCompareTo.ql +++ b/csharp/ql/src/Likely Bugs/InconsistentCompareTo.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/inconsistent-compareto-and-equals - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql b/csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql index 8da3a910b0da..a9c03bf3b476 100644 --- a/csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql +++ b/csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/unsafe-year-construction - * @tags date-time + * @tags quality + * date-time * reliability */ diff --git a/csharp/ql/src/Likely Bugs/MishandlingJapaneseEra.ql b/csharp/ql/src/Likely Bugs/MishandlingJapaneseEra.ql index a188fbe1b8ee..377b21c16284 100644 --- a/csharp/ql/src/Likely Bugs/MishandlingJapaneseEra.ql +++ b/csharp/ql/src/Likely Bugs/MishandlingJapaneseEra.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity warning * @precision medium - * @tags reliability + * @tags quality + * reliability * date-time */ diff --git a/csharp/ql/src/Likely Bugs/ObjectComparison.ql b/csharp/ql/src/Likely Bugs/ObjectComparison.ql index eec1961fbf50..5479ff69b34c 100644 --- a/csharp/ql/src/Likely Bugs/ObjectComparison.ql +++ b/csharp/ql/src/Likely Bugs/ObjectComparison.ql @@ -6,7 +6,8 @@ * @problem.severity warning * @precision medium * @id cs/reference-equality-with-object - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-595 */ diff --git a/csharp/ql/src/Likely Bugs/RecursiveOperatorEquals.ql b/csharp/ql/src/Likely Bugs/RecursiveOperatorEquals.ql index fe01683578f0..ac991ee97893 100644 --- a/csharp/ql/src/Likely Bugs/RecursiveOperatorEquals.ql +++ b/csharp/ql/src/Likely Bugs/RecursiveOperatorEquals.ql @@ -5,7 +5,8 @@ * @problem.severity error * @precision medium * @id cs/recursive-operator-equals-call - * @tags reliability + * @tags quality + * reliability * maintainability */ diff --git a/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql b/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql index ba64dc1bf949..75a1789a9694 100644 --- a/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql +++ b/csharp/ql/src/Likely Bugs/Statements/UseBraces.ql @@ -6,7 +6,8 @@ * @problem.severity warning * @precision medium * @id cs/misleading-indentation - * @tags changeability + * @tags quality + * changeability * correctness * logic */ diff --git a/csharp/ql/src/Linq/BadMultipleIteration.ql b/csharp/ql/src/Linq/BadMultipleIteration.ql index e07de273e63d..965bdac15c10 100644 --- a/csharp/ql/src/Linq/BadMultipleIteration.ql +++ b/csharp/ql/src/Linq/BadMultipleIteration.ql @@ -5,7 +5,8 @@ * @problem.severity warning * @precision medium * @id cs/linq/inconsistent-enumeration - * @tags reliability + * @tags quality + * reliability * maintainability * language-features * external/cwe/cwe-834 diff --git a/csharp/ql/src/Useless code/PointlessForwardingMethod.ql b/csharp/ql/src/Useless code/PointlessForwardingMethod.ql index 723c5b190a57..24a184b3274e 100644 --- a/csharp/ql/src/Useless code/PointlessForwardingMethod.ql +++ b/csharp/ql/src/Useless code/PointlessForwardingMethod.ql @@ -5,7 +5,8 @@ * @problem.severity recommendation * @precision medium * @id cs/useless-forwarding-method - * @tags maintainability + * @tags quality + * maintainability * useless-code */ From 67a2966a2fce08d02dce8c01b31230b9f90b6e0a Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 28 Aug 2025 12:35:01 +0200 Subject: [PATCH 2/2] C#: Update query-suite integration tests expected output. --- .../csharp-code-quality-extended.qls.expected | 42 +++++++++++++++++++ .../query-suite/not_included_in_qls.expected | 17 -------- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality-extended.qls.expected b/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality-extended.qls.expected index 53810418624d..d07c4c620aa7 100644 --- a/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality-extended.qls.expected +++ b/csharp/ql/integration-tests/posix/query-suite/csharp-code-quality-extended.qls.expected @@ -1,20 +1,39 @@ ql/csharp/ql/src/API Abuse/CallToGCCollect.ql ql/csharp/ql/src/API Abuse/CallToObsoleteMethod.ql +ql/csharp/ql/src/API Abuse/ClassDoesNotImplementEquals.ql ql/csharp/ql/src/API Abuse/ClassImplementsICloneable.ql +ql/csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql ql/csharp/ql/src/API Abuse/FormatInvalid.ql +ql/csharp/ql/src/API Abuse/InconsistentEqualsGetHashCode.ql +ql/csharp/ql/src/API Abuse/IncorrectCompareToSignature.ql +ql/csharp/ql/src/API Abuse/IncorrectEqualsSignature.ql ql/csharp/ql/src/API Abuse/NoDisposeCallOnLocalIDisposable.ql +ql/csharp/ql/src/API Abuse/NonOverridingMethod.ql ql/csharp/ql/src/API Abuse/NullArgumentToEquals.ql ql/csharp/ql/src/ASP/BlockCodeResponseWrite.ql +ql/csharp/ql/src/ASP/SplitControlStructure.ql ql/csharp/ql/src/Bad Practices/CallsUnmanagedCode.ql ql/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.ql +ql/csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql +ql/csharp/ql/src/Bad Practices/Comments/TodoComments.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/Declarations/NoConstantsOnly.ql ql/csharp/ql/src/Bad Practices/EmptyCatchBlock.ql +ql/csharp/ql/src/Bad Practices/ErroneousClassCompare.ql +ql/csharp/ql/src/Bad Practices/Implementation Hiding/AbstractToConcreteCollection.ql ql/csharp/ql/src/Bad Practices/Implementation Hiding/ExposeRepresentation.ql +ql/csharp/ql/src/Bad Practices/Implementation Hiding/StaticArray.ql +ql/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingMethodNames.ql +ql/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingOverridesNames.ql +ql/csharp/ql/src/Bad Practices/Naming Conventions/ControlNamePrefixes.ql +ql/csharp/ql/src/Bad Practices/Naming Conventions/DefaultControlNames.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/Bad Practices/UseOfSystemOutputStream.ql +ql/csharp/ql/src/Bad Practices/VirtualCallInConstructorOrDestructor.ql ql/csharp/ql/src/CSI/CompareIdenticalValues.ql ql/csharp/ql/src/CSI/NullAlways.ql ql/csharp/ql/src/CSI/NullMaybe.ql @@ -22,12 +41,19 @@ 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/Concurrency/SynchSetUnsynchGet.ql +ql/csharp/ql/src/Concurrency/UnsafeLazyInitialization.ql +ql/csharp/ql/src/Concurrency/UnsynchronizedStaticAccess.ql ql/csharp/ql/src/Dead Code/DeadStoreOfLocal.ql +ql/csharp/ql/src/Documentation/XmldocExtraParam.ql +ql/csharp/ql/src/Documentation/XmldocExtraTypeParam.ql +ql/csharp/ql/src/Documentation/XmldocMissing.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/ForeachCapture.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 @@ -35,27 +61,42 @@ 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/Language Abuse/UselessCastToSelf.ql +ql/csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql +ql/csharp/ql/src/Language Abuse/UselessNullCoalescingExpression.ql +ql/csharp/ql/src/Language Abuse/UselessTypeTest.ql +ql/csharp/ql/src/Language Abuse/UselessUpcast.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/Dynamic/BadDynamicCall.ql ql/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql ql/csharp/ql/src/Likely Bugs/EqualsArray.ql +ql/csharp/ql/src/Likely Bugs/EqualsUsesAs.ql +ql/csharp/ql/src/Likely Bugs/EqualsUsesIs.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/InconsistentCompareTo.ql +ql/csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql +ql/csharp/ql/src/Likely Bugs/MishandlingJapaneseEra.ql ql/csharp/ql/src/Likely Bugs/NestedLoopsSameVariable.ql +ql/csharp/ql/src/Likely Bugs/ObjectComparison.ql ql/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql ql/csharp/ql/src/Likely Bugs/RecursiveEquals.ql +ql/csharp/ql/src/Likely Bugs/RecursiveOperatorEquals.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/Statements/UseBraces.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/BadMultipleIteration.ql ql/csharp/ql/src/Linq/MissedAllOpportunity.ql ql/csharp/ql/src/Linq/MissedCastOpportunity.ql ql/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql @@ -68,5 +109,6 @@ 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/PointlessForwardingMethod.ql ql/csharp/ql/src/Useless code/RedundantToStringCall.ql ql/csharp/ql/src/Useless code/UnusedLabel.ql diff --git a/csharp/ql/integration-tests/posix/query-suite/not_included_in_qls.expected b/csharp/ql/integration-tests/posix/query-suite/not_included_in_qls.expected index dff6574dddd0..310fb74bed62 100644 --- a/csharp/ql/integration-tests/posix/query-suite/not_included_in_qls.expected +++ b/csharp/ql/integration-tests/posix/query-suite/not_included_in_qls.expected @@ -1,45 +1,29 @@ ql/csharp/ql/src/API Abuse/MissingDisposeCall.ql ql/csharp/ql/src/API Abuse/MissingDisposeMethod.ql -ql/csharp/ql/src/API Abuse/NonOverridingMethod.ql ql/csharp/ql/src/API Abuse/UncheckedReturnValue.ql ql/csharp/ql/src/ASP/ComplexInlineCode.ql ql/csharp/ql/src/ASP/NonInternationalizedText.ql -ql/csharp/ql/src/ASP/SplitControlStructure.ql ql/csharp/ql/src/AlertSuppression.ql ql/csharp/ql/src/Architecture/Dependencies/MutualDependency.ql ql/csharp/ql/src/Architecture/Refactoring Opportunities/FeatureEnvy.ql -ql/csharp/ql/src/Bad Practices/Comments/CommentedOutCode.ql -ql/csharp/ql/src/Bad Practices/Comments/TodoComments.ql ql/csharp/ql/src/Bad Practices/Declarations/EmptyInterface.ql -ql/csharp/ql/src/Bad Practices/Declarations/NoConstantsOnly.ql -ql/csharp/ql/src/Bad Practices/Implementation Hiding/StaticArray.ql ql/csharp/ql/src/Bad Practices/LeftoverDebugCode.ql ql/csharp/ql/src/Bad Practices/Magic Constants/MagicConstantsNumbers.ql ql/csharp/ql/src/Bad Practices/Magic Constants/MagicConstantsString.ql ql/csharp/ql/src/Bad Practices/Magic Constants/MagicNumbersUseConstant.ql ql/csharp/ql/src/Bad Practices/Magic Constants/MagicStringsUseConstant.ql -ql/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingMethodNames.ql -ql/csharp/ql/src/Bad Practices/Naming Conventions/ConfusingOverridesNames.ql ql/csharp/ql/src/Bad Practices/Naming Conventions/ConstantNaming.ql -ql/csharp/ql/src/Bad Practices/Naming Conventions/ControlNamePrefixes.ql -ql/csharp/ql/src/Bad Practices/Naming Conventions/DefaultControlNames.ql ql/csharp/ql/src/Bad Practices/Naming Conventions/VariableNameTooShort.ql ql/csharp/ql/src/Bad Practices/UseOfHtmlInputHidden.ql -ql/csharp/ql/src/Bad Practices/UseOfSystemOutputStream.ql ql/csharp/ql/src/Configuration/PasswordInConfigurationFile.ql ql/csharp/ql/src/Dead Code/DeadRefTypes.ql ql/csharp/ql/src/Dead Code/NonAssignedFields.ql ql/csharp/ql/src/Dead Code/UnusedField.ql ql/csharp/ql/src/Dead Code/UnusedMethod.ql -ql/csharp/ql/src/Documentation/XmldocExtraParam.ql -ql/csharp/ql/src/Documentation/XmldocExtraTypeParam.ql -ql/csharp/ql/src/Documentation/XmldocMissing.ql ql/csharp/ql/src/Documentation/XmldocMissingException.ql ql/csharp/ql/src/Documentation/XmldocMissingParam.ql ql/csharp/ql/src/Documentation/XmldocMissingReturn.ql ql/csharp/ql/src/Documentation/XmldocMissingTypeParam.ql -ql/csharp/ql/src/Language Abuse/ForeachCapture.ql -ql/csharp/ql/src/Language Abuse/UselessIsBeforeAs.ql ql/csharp/ql/src/Likely Bugs/BadCheckOdd.ql ql/csharp/ql/src/Likely Bugs/RandomUsedOnce.ql ql/csharp/ql/src/Metrics/Callables/CCyclomaticComplexity.ql @@ -93,7 +77,6 @@ ql/csharp/ql/src/Security Features/CWE-611/UseXmlSecureResolver.ql ql/csharp/ql/src/Security Features/CWE-798/HardcodedConnectionString.ql ql/csharp/ql/src/Security Features/CWE-798/HardcodedCredentials.ql ql/csharp/ql/src/Security Features/CWE-838/InappropriateEncoding.ql -ql/csharp/ql/src/Useless code/PointlessForwardingMethod.ql ql/csharp/ql/src/definitions.ql ql/csharp/ql/src/experimental/CWE-099/TaintedWebClient.ql ql/csharp/ql/src/experimental/CWE-918/RequestForgery.ql