Merge pull request #20292 from michaelnebel/csharp/code-quality-extended

C#: Add most `medium` precision queries to the `code-quality-extended` suite.
This commit is contained in:
Michael Nebel
2025-09-17 14:34:08 +02:00
committed by GitHub
47 changed files with 155 additions and 91 deletions

View File

@@ -1,20 +1,39 @@
ql/csharp/ql/src/API Abuse/CallToGCCollect.ql ql/csharp/ql/src/API Abuse/CallToGCCollect.ql
ql/csharp/ql/src/API Abuse/CallToObsoleteMethod.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/ClassImplementsICloneable.ql
ql/csharp/ql/src/API Abuse/DisposeNotCalledOnException.ql
ql/csharp/ql/src/API Abuse/FormatInvalid.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/NoDisposeCallOnLocalIDisposable.ql
ql/csharp/ql/src/API Abuse/NonOverridingMethod.ql
ql/csharp/ql/src/API Abuse/NullArgumentToEquals.ql ql/csharp/ql/src/API Abuse/NullArgumentToEquals.ql
ql/csharp/ql/src/ASP/BlockCodeResponseWrite.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/CallsUnmanagedCode.ql
ql/csharp/ql/src/Bad Practices/CatchOfNullReferenceException.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/Control-Flow/ConstantCondition.ql
ql/csharp/ql/src/Bad Practices/Declarations/LocalScopeVariableShadowsMember.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/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/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/FieldMasksSuperField.ql
ql/csharp/ql/src/Bad Practices/Naming Conventions/SameNameAsSuper.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/PathCombine.ql
ql/csharp/ql/src/Bad Practices/UnmanagedCodeCheck.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/CompareIdenticalValues.ql
ql/csharp/ql/src/CSI/NullAlways.ql ql/csharp/ql/src/CSI/NullAlways.ql
ql/csharp/ql/src/CSI/NullMaybe.ql ql/csharp/ql/src/CSI/NullMaybe.ql
@@ -22,8 +41,10 @@ ql/csharp/ql/src/Concurrency/FutileSyncOnField.ql
ql/csharp/ql/src/Concurrency/LockOrder.ql ql/csharp/ql/src/Concurrency/LockOrder.ql
ql/csharp/ql/src/Concurrency/LockThis.ql ql/csharp/ql/src/Concurrency/LockThis.ql
ql/csharp/ql/src/Concurrency/LockedWait.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/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/CastThisToTypeParameter.ql
ql/csharp/ql/src/Language Abuse/CatchOfGenericException.ql ql/csharp/ql/src/Language Abuse/CatchOfGenericException.ql
ql/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql ql/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql
@@ -35,27 +56,42 @@ ql/csharp/ql/src/Language Abuse/NestedIf.ql
ql/csharp/ql/src/Language Abuse/RethrowException.ql ql/csharp/ql/src/Language Abuse/RethrowException.ql
ql/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql ql/csharp/ql/src/Language Abuse/SimplifyBoolExpr.ql
ql/csharp/ql/src/Language Abuse/UnusedPropertyValue.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/ContainerLengthCmpOffByOne.ql
ql/csharp/ql/src/Likely Bugs/Collections/ContainerSizeCmpZero.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/ReadOnlyContainer.ql
ql/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql ql/csharp/ql/src/Likely Bugs/Collections/WriteOnlyContainer.ql
ql/csharp/ql/src/Likely Bugs/ConstantComparison.ql ql/csharp/ql/src/Likely Bugs/ConstantComparison.ql
ql/csharp/ql/src/Likely Bugs/DangerousNonShortCircuitLogic.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/EqualityCheckOnFloats.ql
ql/csharp/ql/src/Likely Bugs/EqualsArray.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/HashedButNoHash.ql
ql/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql ql/csharp/ql/src/Likely Bugs/ImpossibleArrayCast.ql
ql/csharp/ql/src/Likely Bugs/IncomparableEquals.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/NestedLoopsSameVariable.ql
ql/csharp/ql/src/Likely Bugs/ObjectComparison.ql
ql/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql ql/csharp/ql/src/Likely Bugs/PossibleLossOfPrecision.ql
ql/csharp/ql/src/Likely Bugs/RecursiveEquals.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/ReferenceEqualsOnValueTypes.ql
ql/csharp/ql/src/Likely Bugs/SelfAssignment.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/EmptyBlock.ql
ql/csharp/ql/src/Likely Bugs/Statements/EmptyLockStatement.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/StaticFieldWrittenByInstance.ql
ql/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql ql/csharp/ql/src/Likely Bugs/StringBuilderCharInit.ql
ql/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.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/MissedAllOpportunity.ql
ql/csharp/ql/src/Linq/MissedCastOpportunity.ql ql/csharp/ql/src/Linq/MissedCastOpportunity.ql
ql/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql ql/csharp/ql/src/Linq/MissedOfTypeOpportunity.ql
@@ -68,5 +104,6 @@ ql/csharp/ql/src/Performance/UseTryGetValue.ql
ql/csharp/ql/src/Useless code/DefaultToString.ql ql/csharp/ql/src/Useless code/DefaultToString.ql
ql/csharp/ql/src/Useless code/FutileConditional.ql ql/csharp/ql/src/Useless code/FutileConditional.ql
ql/csharp/ql/src/Useless code/IntGetHashCode.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/RedundantToStringCall.ql
ql/csharp/ql/src/Useless code/UnusedLabel.ql ql/csharp/ql/src/Useless code/UnusedLabel.ql

View File

@@ -23,7 +23,6 @@ ql/csharp/ql/src/Concurrency/LockOrder.ql
ql/csharp/ql/src/Concurrency/LockThis.ql ql/csharp/ql/src/Concurrency/LockThis.ql
ql/csharp/ql/src/Concurrency/LockedWait.ql ql/csharp/ql/src/Concurrency/LockedWait.ql
ql/csharp/ql/src/Dead Code/DeadStoreOfLocal.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/CastThisToTypeParameter.ql
ql/csharp/ql/src/Language Abuse/CatchOfGenericException.ql ql/csharp/ql/src/Language Abuse/CatchOfGenericException.ql
ql/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql ql/csharp/ql/src/Language Abuse/DubiousDowncastOfThis.ql

View File

@@ -1,31 +1,20 @@
ql/csharp/ql/src/API Abuse/MissingDisposeCall.ql ql/csharp/ql/src/API Abuse/MissingDisposeCall.ql
ql/csharp/ql/src/API Abuse/MissingDisposeMethod.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/API Abuse/UncheckedReturnValue.ql
ql/csharp/ql/src/ASP/ComplexInlineCode.ql ql/csharp/ql/src/ASP/ComplexInlineCode.ql
ql/csharp/ql/src/ASP/NonInternationalizedText.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/AlertSuppression.ql
ql/csharp/ql/src/Architecture/Dependencies/MutualDependency.ql ql/csharp/ql/src/Architecture/Dependencies/MutualDependency.ql
ql/csharp/ql/src/Architecture/Refactoring Opportunities/FeatureEnvy.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/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/LeftoverDebugCode.ql
ql/csharp/ql/src/Bad Practices/Magic Constants/MagicConstantsNumbers.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/MagicConstantsString.ql
ql/csharp/ql/src/Bad Practices/Magic Constants/MagicNumbersUseConstant.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/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/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/Naming Conventions/VariableNameTooShort.ql
ql/csharp/ql/src/Bad Practices/UseOfHtmlInputHidden.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/Configuration/PasswordInConfigurationFile.ql
ql/csharp/ql/src/Dead Code/DeadRefTypes.ql ql/csharp/ql/src/Dead Code/DeadRefTypes.ql
ql/csharp/ql/src/Dead Code/NonAssignedFields.ql ql/csharp/ql/src/Dead Code/NonAssignedFields.ql
@@ -39,7 +28,6 @@ ql/csharp/ql/src/Documentation/XmldocMissingParam.ql
ql/csharp/ql/src/Documentation/XmldocMissingReturn.ql ql/csharp/ql/src/Documentation/XmldocMissingReturn.ql
ql/csharp/ql/src/Documentation/XmldocMissingTypeParam.ql ql/csharp/ql/src/Documentation/XmldocMissingTypeParam.ql
ql/csharp/ql/src/Language Abuse/ForeachCapture.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/BadCheckOdd.ql
ql/csharp/ql/src/Likely Bugs/RandomUsedOnce.ql ql/csharp/ql/src/Likely Bugs/RandomUsedOnce.ql
ql/csharp/ql/src/Metrics/Callables/CCyclomaticComplexity.ql ql/csharp/ql/src/Metrics/Callables/CCyclomaticComplexity.ql
@@ -93,7 +81,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/HardcodedConnectionString.ql
ql/csharp/ql/src/Security Features/CWE-798/HardcodedCredentials.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/Security Features/CWE-838/InappropriateEncoding.ql
ql/csharp/ql/src/Useless code/PointlessForwardingMethod.ql
ql/csharp/ql/src/definitions.ql ql/csharp/ql/src/definitions.ql
ql/csharp/ql/src/experimental/CWE-099/TaintedWebClient.ql ql/csharp/ql/src/experimental/CWE-099/TaintedWebClient.ql
ql/csharp/ql/src/experimental/CWE-918/RequestForgery.ql ql/csharp/ql/src/experimental/CWE-918/RequestForgery.ql

View File

@@ -7,8 +7,9 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/class-missing-equals * @id cs/class-missing-equals
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -7,8 +7,10 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/dispose-not-called-on-throw * @id cs/dispose-not-called-on-throw
* @tags efficiency * @tags quality
* maintainability * reliability
* error-handling
* performance
* external/cwe/cwe-404 * external/cwe/cwe-404
* external/cwe/cwe-459 * external/cwe/cwe-459
* external/cwe/cwe-460 * external/cwe/cwe-460

View File

@@ -6,8 +6,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/inconsistent-equals-and-gethashcode * @id cs/inconsistent-equals-and-gethashcode
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
* external/cwe/cwe-581 * external/cwe/cwe-581
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/wrong-compareto-signature * @id cs/wrong-compareto-signature
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/wrong-equals-signature * @id cs/wrong-equals-signature
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -5,9 +5,10 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/nonoverriding-method * @id cs/nonoverriding-method
* @tags reliability * @tags quality
* reliability
* correctness
* readability * readability
* naming
*/ */
import csharp import csharp

View File

@@ -5,8 +5,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/asp/split-control-structure * @id cs/asp/split-control-structure
* @tags maintainability * @tags quality
* frameworks/asp.net * maintainability
* readability
*/ */
import semmle.code.asp.AspNet import semmle.code.asp.AspNet

View File

@@ -5,9 +5,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/commented-out-code * @id cs/commented-out-code
* @tags maintainability * @tags quality
* statistical * maintainability
* non-attributable * readability
*/ */
import csharp import csharp

View File

@@ -6,7 +6,8 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/todo-comment * @id cs/todo-comment
* @tags maintainability * @tags quality
* maintainability
* external/cwe/cwe-546 * external/cwe/cwe-546
*/ */

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/constants-only-interface * @id cs/constants-only-interface
* @tags maintainability * @tags quality
* modularity * maintainability
* readability
*/ */
import csharp import csharp

View File

@@ -5,7 +5,8 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/class-name-comparison * @id cs/class-name-comparison
* @tags reliability * @tags quality
* reliability
* correctness * correctness
* external/cwe/cwe-486 * external/cwe/cwe-486
*/ */

View File

@@ -7,9 +7,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/cast-from-abstract-to-concrete-collection * @id cs/cast-from-abstract-to-concrete-collection
* @tags reliability * @tags quality
* maintainability * reliability
* modularity * correctness
* external/cwe/cwe-485 * external/cwe/cwe-485
*/ */

View File

@@ -5,9 +5,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/static-array * @id cs/static-array
* @tags reliability * @tags quality
* maintainability * reliability
* modularity * correctness
* external/cwe/cwe-582 * external/cwe/cwe-582
*/ */

View File

@@ -5,9 +5,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/confusing-method-name * @id cs/confusing-method-name
* @tags maintainability * @tags quality
* maintainability
* readability * readability
* naming
*/ */
import csharp import csharp

View File

@@ -6,9 +6,10 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/confusing-override-name * @id cs/confusing-override-name
* @tags reliability * @tags quality
* maintainability
* readability * readability
* naming * correctness
*/ */
import csharp import csharp

View File

@@ -6,7 +6,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/web/unprefixed-control-name * @id cs/web/unprefixed-control-name
* @tags maintainability * @tags quality
* maintainability
* readability
*/ */
import csharp import csharp

View File

@@ -6,8 +6,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/forms/default-control-name * @id cs/forms/default-control-name
* @tags readability * @tags quality
* naming * maintainability
* readability
*/ */
import csharp import csharp

View File

@@ -5,7 +5,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/console-output * @id cs/console-output
* @tags maintainability * @tags quality
* reliability
* error-handling
*/ */
import csharp import csharp

View File

@@ -6,9 +6,9 @@
* @precision medium * @precision medium
* @id cs/virtual-call-in-constructor * @id cs/virtual-call-in-constructor
* @alternate-ids cs/virtual-call-in-constructor-or-destructor * @alternate-ids cs/virtual-call-in-constructor-or-destructor
* @tags reliability * @tags quality
* maintainability * reliability
* modularity * correctness
*/ */
import csharp import csharp

View File

@@ -6,8 +6,10 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/unsynchronized-getter * @id cs/unsynchronized-getter
* @tags correctness * @tags quality
* reliability
* concurrency * concurrency
* correctness
* external/cwe/cwe-662 * external/cwe/cwe-662
*/ */

View File

@@ -6,7 +6,8 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/unsafe-double-checked-lock * @id cs/unsafe-double-checked-lock
* @tags correctness * @tags quality
* reliability
* concurrency * concurrency
* external/cwe/cwe-609 * external/cwe/cwe-609
*/ */

View File

@@ -6,7 +6,9 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/unsynchronized-static-access * @id cs/unsynchronized-static-access
* @tags concurrency * @tags quality
* reliability
* concurrency
* external/cwe/cwe-362 * external/cwe/cwe-362
* external/cwe/cwe-567 * external/cwe/cwe-567
*/ */

View File

@@ -7,6 +7,7 @@
* @precision medium * @precision medium
* @id cs/xmldoc/unknown-parameter * @id cs/xmldoc/unknown-parameter
* @tags maintainability * @tags maintainability
* readability
*/ */
import Documentation import Documentation

View File

@@ -7,6 +7,7 @@
* @precision medium * @precision medium
* @id cs/xmldoc/unknown-type-parameter * @id cs/xmldoc/unknown-type-parameter
* @tags maintainability * @tags maintainability
* readability
*/ */
import Documentation import Documentation

View File

@@ -7,6 +7,7 @@
* @precision medium * @precision medium
* @id cs/xmldoc/missing-xmldoc * @id cs/xmldoc/missing-xmldoc
* @tags maintainability * @tags maintainability
* readability
*/ */
import Documentation import Documentation

View File

@@ -5,8 +5,7 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision high * @precision high
* @id cs/xmldoc/missing-summary * @id cs/xmldoc/missing-summary
* @tags quality * @tags maintainability
* maintainability
* readability * readability
*/ */

View File

@@ -7,9 +7,8 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/captured-foreach-variable * @id cs/captured-foreach-variable
* @tags portability * @tags reliability
* maintainability * correctness
* language-features
* external/cwe/cwe-758 * external/cwe/cwe-758
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/useless-cast-to-self * @id cs/useless-cast-to-self
* @tags maintainability * @tags quality
* language-features * maintainability
* useless-code
* external/cwe/cwe-561 * external/cwe/cwe-561
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/useless-is-before-as * @id cs/useless-is-before-as
* @tags maintainability * @tags quality
* language-features * maintainability
* useless-code
* external/cwe/cwe-561 * external/cwe/cwe-561
*/ */

View File

@@ -6,8 +6,9 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/coalesce-of-identical-expressions * @id cs/coalesce-of-identical-expressions
* @tags maintainability * @tags quality
* language-features * maintainability
* useless-code
* external/cwe/cwe-561 * external/cwe/cwe-561
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/useless-type-test * @id cs/useless-type-test
* @tags maintainability * @tags quality
* language-features * maintainability
* useless-code
* external/cwe/cwe-561 * external/cwe/cwe-561
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/useless-upcast * @id cs/useless-upcast
* @tags maintainability * @tags quality
* language-features * maintainability
* useless-code
* external/cwe/cwe-561 * external/cwe/cwe-561
*/ */

View File

@@ -5,9 +5,9 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/invalid-dynamic-call * @id cs/invalid-dynamic-call
* @tags reliability * @tags quality
* reliability
* correctness * correctness
* logic
* external/cwe/cwe-628 * external/cwe/cwe-628
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/equals-uses-as * @id cs/equals-uses-as
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/equals-uses-is * @id cs/equals-uses-is
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/inconsistent-compareto-and-equals * @id cs/inconsistent-compareto-and-equals
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import semmle.code.csharp.frameworks.System import semmle.code.csharp.frameworks.System

View File

@@ -5,8 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/unsafe-year-construction * @id cs/unsafe-year-construction
* @tags date-time * @tags quality
* reliability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -5,8 +5,9 @@
* @kind problem * @kind problem
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @tags reliability * @tags quality
* date-time * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -6,7 +6,8 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/reference-equality-with-object * @id cs/reference-equality-with-object
* @tags reliability * @tags quality
* reliability
* correctness * correctness
* external/cwe/cwe-595 * external/cwe/cwe-595
*/ */

View File

@@ -5,8 +5,9 @@
* @problem.severity error * @problem.severity error
* @precision medium * @precision medium
* @id cs/recursive-operator-equals-call * @id cs/recursive-operator-equals-call
* @tags reliability * @tags quality
* maintainability * reliability
* correctness
*/ */
import csharp import csharp

View File

@@ -6,9 +6,10 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/misleading-indentation * @id cs/misleading-indentation
* @tags changeability * @tags quality
* maintainability
* readability
* correctness * correctness
* logic
*/ */
import csharp import csharp

View File

@@ -5,9 +5,9 @@
* @problem.severity warning * @problem.severity warning
* @precision medium * @precision medium
* @id cs/linq/inconsistent-enumeration * @id cs/linq/inconsistent-enumeration
* @tags reliability * @tags quality
* maintainability * reliability
* language-features * correctness
* external/cwe/cwe-834 * external/cwe/cwe-834
*/ */

View File

@@ -5,7 +5,8 @@
* @problem.severity recommendation * @problem.severity recommendation
* @precision medium * @precision medium
* @id cs/useless-forwarding-method * @id cs/useless-forwarding-method
* @tags maintainability * @tags quality
* maintainability
* useless-code * useless-code
*/ */

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* Remove the query `cs/xmldoc/missing-summary` from the `code-quality` suite (align with other languages).