Skip to content

Commit 036489c

Browse files
authored
Merge pull request #19812 from joefarebrother/python-qual-tagging
Python: Tag quality queries with `quality` and sub category.
2 parents a1e9506 + f457453 commit 036489c

File tree

97 files changed

+409
-140
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+409
-140
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,99 @@
1+
ql/python/ql/src/Classes/ConflictingAttributesInBaseClasses.ql
2+
ql/python/ql/src/Classes/DefineEqualsWhenAddingAttributes.ql
3+
ql/python/ql/src/Classes/EqualsOrHash.ql
4+
ql/python/ql/src/Classes/InconsistentMRO.ql
15
ql/python/ql/src/Classes/InitCallsSubclass/InitCallsSubclassMethod.ql
6+
ql/python/ql/src/Classes/MissingCallToDel.ql
7+
ql/python/ql/src/Classes/MissingCallToInit.ql
8+
ql/python/ql/src/Classes/MutatingDescriptor.ql
9+
ql/python/ql/src/Classes/SubclassShadowing.ql
10+
ql/python/ql/src/Classes/SuperclassDelCalledMultipleTimes.ql
11+
ql/python/ql/src/Classes/SuperclassInitCalledMultipleTimes.ql
12+
ql/python/ql/src/Classes/WrongNameForArgumentInClassInstantiation.ql
13+
ql/python/ql/src/Classes/WrongNumberArgumentsInClassInstantiation.ql
14+
ql/python/ql/src/Exceptions/CatchingBaseException.ql
15+
ql/python/ql/src/Exceptions/EmptyExcept.ql
16+
ql/python/ql/src/Exceptions/IllegalExceptionHandlerType.ql
17+
ql/python/ql/src/Exceptions/IllegalRaise.ql
18+
ql/python/ql/src/Exceptions/IncorrectExceptOrder.ql
19+
ql/python/ql/src/Exceptions/NotImplementedIsNotAnException.ql
20+
ql/python/ql/src/Expressions/CallToSuperWrongClass.ql
21+
ql/python/ql/src/Expressions/CompareConstants.ql
22+
ql/python/ql/src/Expressions/CompareIdenticalValues.ql
23+
ql/python/ql/src/Expressions/CompareIdenticalValuesMissingSelf.ql
24+
ql/python/ql/src/Expressions/Comparisons/UselessComparisonTest.ql
25+
ql/python/ql/src/Expressions/ContainsNonContainer.ql
26+
ql/python/ql/src/Expressions/DuplicateKeyInDictionaryLiteral.ql
27+
ql/python/ql/src/Expressions/EqualsNone.ql
28+
ql/python/ql/src/Expressions/ExpectedMappingForFormatString.ql
29+
ql/python/ql/src/Expressions/ExplicitCallToDel.ql
30+
ql/python/ql/src/Expressions/Formatting/MixedExplicitImplicitIn3101Format.ql
31+
ql/python/ql/src/Expressions/Formatting/UnusedArgumentIn3101Format.ql
32+
ql/python/ql/src/Expressions/Formatting/UnusedNamedArgumentIn3101Format.ql
33+
ql/python/ql/src/Expressions/Formatting/WrongNameInArgumentsFor3101Format.ql
34+
ql/python/ql/src/Expressions/Formatting/WrongNumberArgumentsFor3101Format.ql
35+
ql/python/ql/src/Expressions/HashedButNoHash.ql
36+
ql/python/ql/src/Expressions/IncorrectComparisonUsingIs.ql
37+
ql/python/ql/src/Expressions/NonCallableCalled.ql
38+
ql/python/ql/src/Expressions/Regex/BackspaceEscape.ql
39+
ql/python/ql/src/Expressions/Regex/DuplicateCharacterInSet.ql
40+
ql/python/ql/src/Expressions/Regex/MissingPartSpecialGroup.ql
41+
ql/python/ql/src/Expressions/Regex/UnmatchableCaret.ql
42+
ql/python/ql/src/Expressions/Regex/UnmatchableDollar.ql
43+
ql/python/ql/src/Expressions/UnintentionalImplicitStringConcatenation.ql
44+
ql/python/ql/src/Expressions/UnnecessaryLambda.ql
45+
ql/python/ql/src/Expressions/UnsupportedFormatCharacter.ql
46+
ql/python/ql/src/Expressions/WrongNameForArgumentInCall.ql
47+
ql/python/ql/src/Expressions/WrongNumberArgumentsForFormat.ql
48+
ql/python/ql/src/Expressions/WrongNumberArgumentsInCall.ql
49+
ql/python/ql/src/Functions/ConsistentReturns.ql
50+
ql/python/ql/src/Functions/ExplicitReturnInInit.ql
51+
ql/python/ql/src/Functions/IncorrectRaiseInSpecialMethod.ql
52+
ql/python/ql/src/Functions/IncorrectlyOverriddenMethod.ql
53+
ql/python/ql/src/Functions/IncorrectlySpecifiedOverriddenMethod.ql
54+
ql/python/ql/src/Functions/InitIsGenerator.ql
55+
ql/python/ql/src/Functions/IterReturnsNonIterator.ql
256
ql/python/ql/src/Functions/IterReturnsNonSelf.ql
57+
ql/python/ql/src/Functions/ModificationOfParameterWithDefault.ql
358
ql/python/ql/src/Functions/NonCls.ql
459
ql/python/ql/src/Functions/NonSelf.ql
60+
ql/python/ql/src/Functions/OverlyComplexDelMethod.ql
561
ql/python/ql/src/Functions/ReturnConsistentTupleSizes.ql
62+
ql/python/ql/src/Functions/SignatureOverriddenMethod.ql
663
ql/python/ql/src/Functions/SignatureSpecialMethods.ql
64+
ql/python/ql/src/Functions/UseImplicitNoneReturnValue.ql
65+
ql/python/ql/src/Imports/EncodingError.ql
66+
ql/python/ql/src/Imports/ImportandImportFrom.ql
67+
ql/python/ql/src/Imports/ModuleImportsItself.ql
68+
ql/python/ql/src/Imports/MultipleImports.ql
69+
ql/python/ql/src/Imports/SyntaxError.ql
70+
ql/python/ql/src/Imports/UnintentionalImport.ql
71+
ql/python/ql/src/Imports/UnusedImport.ql
72+
ql/python/ql/src/Lexical/CommentedOutCode.ql
773
ql/python/ql/src/Resources/FileNotAlwaysClosed.ql
74+
ql/python/ql/src/Statements/AssertOnTuple.ql
75+
ql/python/ql/src/Statements/ConstantInConditional.ql
76+
ql/python/ql/src/Statements/IterableStringOrSequence.ql
77+
ql/python/ql/src/Statements/MismatchInMultipleAssignment.ql
78+
ql/python/ql/src/Statements/ModificationOfLocals.ql
79+
ql/python/ql/src/Statements/NestedLoopsSameVariable.ql
80+
ql/python/ql/src/Statements/NestedLoopsSameVariableWithReuse.ql
81+
ql/python/ql/src/Statements/NonIteratorInForLoop.ql
82+
ql/python/ql/src/Statements/RedundantAssignment.ql
83+
ql/python/ql/src/Statements/ShouldUseWithStatement.ql
84+
ql/python/ql/src/Statements/SideEffectInAssert.ql
85+
ql/python/ql/src/Statements/StatementNoEffect.ql
86+
ql/python/ql/src/Statements/TopLevelPrint.ql
87+
ql/python/ql/src/Statements/UnnecessaryElseClause.ql
88+
ql/python/ql/src/Statements/UnnecessaryPass.ql
89+
ql/python/ql/src/Statements/UnreachableCode.ql
90+
ql/python/ql/src/Statements/UnusedExceptionObject.ql
91+
ql/python/ql/src/Statements/UseOfExit.ql
92+
ql/python/ql/src/Testing/ImpreciseAssert.ql
93+
ql/python/ql/src/Variables/GlobalAtModuleLevel.ql
894
ql/python/ql/src/Variables/LoopVariableCapture/LoopVariableCapture.ql
95+
ql/python/ql/src/Variables/MultiplyDefined.ql
96+
ql/python/ql/src/Variables/SuspiciousUnusedLoopIterationVariable.ql
97+
ql/python/ql/src/Variables/UndefinedExport.ql
98+
ql/python/ql/src/Variables/UnusedLocalVariable.ql
99+
ql/python/ql/src/Variables/UnusedModuleVariable.ql
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,99 @@
1+
ql/python/ql/src/Classes/ConflictingAttributesInBaseClasses.ql
2+
ql/python/ql/src/Classes/DefineEqualsWhenAddingAttributes.ql
3+
ql/python/ql/src/Classes/EqualsOrHash.ql
4+
ql/python/ql/src/Classes/InconsistentMRO.ql
15
ql/python/ql/src/Classes/InitCallsSubclass/InitCallsSubclassMethod.ql
6+
ql/python/ql/src/Classes/MissingCallToDel.ql
7+
ql/python/ql/src/Classes/MissingCallToInit.ql
8+
ql/python/ql/src/Classes/MutatingDescriptor.ql
9+
ql/python/ql/src/Classes/SubclassShadowing.ql
10+
ql/python/ql/src/Classes/SuperclassDelCalledMultipleTimes.ql
11+
ql/python/ql/src/Classes/SuperclassInitCalledMultipleTimes.ql
12+
ql/python/ql/src/Classes/WrongNameForArgumentInClassInstantiation.ql
13+
ql/python/ql/src/Classes/WrongNumberArgumentsInClassInstantiation.ql
14+
ql/python/ql/src/Exceptions/CatchingBaseException.ql
15+
ql/python/ql/src/Exceptions/EmptyExcept.ql
16+
ql/python/ql/src/Exceptions/IllegalExceptionHandlerType.ql
17+
ql/python/ql/src/Exceptions/IllegalRaise.ql
18+
ql/python/ql/src/Exceptions/IncorrectExceptOrder.ql
19+
ql/python/ql/src/Exceptions/NotImplementedIsNotAnException.ql
20+
ql/python/ql/src/Expressions/CallToSuperWrongClass.ql
21+
ql/python/ql/src/Expressions/CompareConstants.ql
22+
ql/python/ql/src/Expressions/CompareIdenticalValues.ql
23+
ql/python/ql/src/Expressions/CompareIdenticalValuesMissingSelf.ql
24+
ql/python/ql/src/Expressions/Comparisons/UselessComparisonTest.ql
25+
ql/python/ql/src/Expressions/ContainsNonContainer.ql
26+
ql/python/ql/src/Expressions/DuplicateKeyInDictionaryLiteral.ql
27+
ql/python/ql/src/Expressions/EqualsNone.ql
28+
ql/python/ql/src/Expressions/ExpectedMappingForFormatString.ql
29+
ql/python/ql/src/Expressions/ExplicitCallToDel.ql
30+
ql/python/ql/src/Expressions/Formatting/MixedExplicitImplicitIn3101Format.ql
31+
ql/python/ql/src/Expressions/Formatting/UnusedArgumentIn3101Format.ql
32+
ql/python/ql/src/Expressions/Formatting/UnusedNamedArgumentIn3101Format.ql
33+
ql/python/ql/src/Expressions/Formatting/WrongNameInArgumentsFor3101Format.ql
34+
ql/python/ql/src/Expressions/Formatting/WrongNumberArgumentsFor3101Format.ql
35+
ql/python/ql/src/Expressions/HashedButNoHash.ql
36+
ql/python/ql/src/Expressions/IncorrectComparisonUsingIs.ql
37+
ql/python/ql/src/Expressions/NonCallableCalled.ql
38+
ql/python/ql/src/Expressions/Regex/BackspaceEscape.ql
39+
ql/python/ql/src/Expressions/Regex/DuplicateCharacterInSet.ql
40+
ql/python/ql/src/Expressions/Regex/MissingPartSpecialGroup.ql
41+
ql/python/ql/src/Expressions/Regex/UnmatchableCaret.ql
42+
ql/python/ql/src/Expressions/Regex/UnmatchableDollar.ql
43+
ql/python/ql/src/Expressions/UnintentionalImplicitStringConcatenation.ql
44+
ql/python/ql/src/Expressions/UnnecessaryLambda.ql
45+
ql/python/ql/src/Expressions/UnsupportedFormatCharacter.ql
46+
ql/python/ql/src/Expressions/WrongNameForArgumentInCall.ql
47+
ql/python/ql/src/Expressions/WrongNumberArgumentsForFormat.ql
48+
ql/python/ql/src/Expressions/WrongNumberArgumentsInCall.ql
49+
ql/python/ql/src/Functions/ConsistentReturns.ql
50+
ql/python/ql/src/Functions/ExplicitReturnInInit.ql
51+
ql/python/ql/src/Functions/IncorrectRaiseInSpecialMethod.ql
52+
ql/python/ql/src/Functions/IncorrectlyOverriddenMethod.ql
53+
ql/python/ql/src/Functions/IncorrectlySpecifiedOverriddenMethod.ql
54+
ql/python/ql/src/Functions/InitIsGenerator.ql
55+
ql/python/ql/src/Functions/IterReturnsNonIterator.ql
256
ql/python/ql/src/Functions/IterReturnsNonSelf.ql
57+
ql/python/ql/src/Functions/ModificationOfParameterWithDefault.ql
358
ql/python/ql/src/Functions/NonCls.ql
459
ql/python/ql/src/Functions/NonSelf.ql
60+
ql/python/ql/src/Functions/OverlyComplexDelMethod.ql
561
ql/python/ql/src/Functions/ReturnConsistentTupleSizes.ql
62+
ql/python/ql/src/Functions/SignatureOverriddenMethod.ql
663
ql/python/ql/src/Functions/SignatureSpecialMethods.ql
64+
ql/python/ql/src/Functions/UseImplicitNoneReturnValue.ql
65+
ql/python/ql/src/Imports/EncodingError.ql
66+
ql/python/ql/src/Imports/ImportandImportFrom.ql
67+
ql/python/ql/src/Imports/ModuleImportsItself.ql
68+
ql/python/ql/src/Imports/MultipleImports.ql
69+
ql/python/ql/src/Imports/SyntaxError.ql
70+
ql/python/ql/src/Imports/UnintentionalImport.ql
71+
ql/python/ql/src/Imports/UnusedImport.ql
72+
ql/python/ql/src/Lexical/CommentedOutCode.ql
773
ql/python/ql/src/Resources/FileNotAlwaysClosed.ql
74+
ql/python/ql/src/Statements/AssertOnTuple.ql
75+
ql/python/ql/src/Statements/ConstantInConditional.ql
76+
ql/python/ql/src/Statements/IterableStringOrSequence.ql
77+
ql/python/ql/src/Statements/MismatchInMultipleAssignment.ql
78+
ql/python/ql/src/Statements/ModificationOfLocals.ql
79+
ql/python/ql/src/Statements/NestedLoopsSameVariable.ql
80+
ql/python/ql/src/Statements/NestedLoopsSameVariableWithReuse.ql
81+
ql/python/ql/src/Statements/NonIteratorInForLoop.ql
82+
ql/python/ql/src/Statements/RedundantAssignment.ql
83+
ql/python/ql/src/Statements/ShouldUseWithStatement.ql
84+
ql/python/ql/src/Statements/SideEffectInAssert.ql
85+
ql/python/ql/src/Statements/StatementNoEffect.ql
86+
ql/python/ql/src/Statements/TopLevelPrint.ql
87+
ql/python/ql/src/Statements/UnnecessaryElseClause.ql
88+
ql/python/ql/src/Statements/UnnecessaryPass.ql
89+
ql/python/ql/src/Statements/UnreachableCode.ql
90+
ql/python/ql/src/Statements/UnusedExceptionObject.ql
91+
ql/python/ql/src/Statements/UseOfExit.ql
92+
ql/python/ql/src/Testing/ImpreciseAssert.ql
93+
ql/python/ql/src/Variables/GlobalAtModuleLevel.ql
894
ql/python/ql/src/Variables/LoopVariableCapture/LoopVariableCapture.ql
95+
ql/python/ql/src/Variables/MultiplyDefined.ql
96+
ql/python/ql/src/Variables/SuspiciousUnusedLoopIterationVariable.ql
97+
ql/python/ql/src/Variables/UndefinedExport.ql
98+
ql/python/ql/src/Variables/UnusedLocalVariable.ql
99+
ql/python/ql/src/Variables/UnusedModuleVariable.ql

python/ql/src/Classes/ConflictingAttributesInBaseClasses.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* @name Conflicting attributes in base classes
33
* @description When a class subclasses multiple base classes and more than one base class defines the same attribute, attribute overriding may result in unexpected behavior by instances of this class.
44
* @kind problem
5-
* @tags reliability
6-
* maintainability
7-
* modularity
5+
* @tags quality
6+
* reliability
7+
* correctness
88
* @problem.severity warning
99
* @sub-severity low
1010
* @precision high

python/ql/src/Classes/DefineEqualsWhenAddingAttributes.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name `__eq__` not overridden when adding attributes
33
* @description When adding new attributes to instances of a class, equality for that class needs to be defined.
44
* @kind problem
5-
* @tags reliability
5+
* @tags quality
6+
* reliability
67
* correctness
78
* @problem.severity warning
89
* @sub-severity high

python/ql/src/Classes/EqualsOrHash.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name Inconsistent equality and hashing
33
* @description Defining equality for a class without also defining hashability (or vice-versa) violates the object model.
44
* @kind problem
5-
* @tags reliability
5+
* @tags quality
6+
* reliability
67
* correctness
78
* external/cwe/cwe-581
89
* @problem.severity warning

python/ql/src/Classes/InconsistentMRO.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name Inconsistent method resolution order
33
* @description Class definition will raise a type error at runtime due to inconsistent method resolution order(MRO)
44
* @kind problem
5-
* @tags reliability
5+
* @tags quality
6+
* reliability
67
* correctness
78
* @problem.severity error
89
* @sub-severity high

python/ql/src/Classes/MissingCallToDel.ql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
* @name Missing call to `__del__` during object destruction
33
* @description An omitted call to a super-class `__del__` method may lead to class instances not being cleaned up properly.
44
* @kind problem
5-
* @tags efficiency
5+
* @tags quality
6+
* reliability
67
* correctness
8+
* performance
79
* @problem.severity error
810
* @sub-severity low
911
* @precision high

python/ql/src/Classes/MissingCallToInit.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name Missing call to `__init__` during object initialization
33
* @description An omitted call to a super-class `__init__` method may lead to objects of this class not being fully initialized.
44
* @kind problem
5-
* @tags reliability
5+
* @tags quality
6+
* reliability
67
* correctness
78
* @problem.severity error
89
* @sub-severity low

python/ql/src/Classes/MutatingDescriptor.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name Mutation of descriptor in `__get__` or `__set__` method.
33
* @description Descriptor objects can be shared across many instances. Mutating them can cause strange side effects or race conditions.
44
* @kind problem
5-
* @tags reliability
5+
* @tags quality
6+
* reliability
67
* correctness
78
* @problem.severity error
89
* @sub-severity low

python/ql/src/Classes/SubclassShadowing.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* method, hides the method in the subclass.
55
* @kind problem
66
* @problem.severity error
7-
* @tags maintainability
7+
* @tags quality
8+
* reliability
89
* correctness
910
* @sub-severity low
1011
* @precision high

python/ql/src/Classes/SuperclassDelCalledMultipleTimes.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name Multiple calls to `__del__` during object destruction
33
* @description A duplicated call to a super-class `__del__` method may lead to class instances not be cleaned up properly.
44
* @kind problem
5-
* @tags efficiency
5+
* @tags quality
6+
* reliability
67
* correctness
78
* @problem.severity warning
89
* @sub-severity high

python/ql/src/Classes/SuperclassInitCalledMultipleTimes.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
* @name Multiple calls to `__init__` during object initialization
33
* @description A duplicated call to a super-class `__init__` method may lead to objects of this class not being properly initialized.
44
* @kind problem
5-
* @tags reliability
5+
* @tags quality
6+
* reliability
67
* correctness
78
* @problem.severity warning
89
* @sub-severity high

python/ql/src/Classes/WrongNameForArgumentInClassInstantiation.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* parameter of the __init__ method of the class being
55
* instantiated, will result in a TypeError at runtime.
66
* @kind problem
7-
* @tags reliability
7+
* @tags quality
8+
* reliability
89
* correctness
910
* external/cwe/cwe-628
1011
* @problem.severity error

python/ql/src/Classes/WrongNumberArgumentsInClassInstantiation.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
* @description Using too many or too few arguments in a call to the `__init__`
44
* method of a class will result in a TypeError at runtime.
55
* @kind problem
6-
* @tags reliability
6+
* @tags quality
7+
* reliability
78
* correctness
89
* external/cwe/cwe-685
910
* @problem.severity error

python/ql/src/Exceptions/CatchingBaseException.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* @name Except block handles 'BaseException'
33
* @description Handling 'BaseException' means that system exits and keyboard interrupts may be mis-handled.
44
* @kind problem
5-
* @tags reliability
6-
* readability
7-
* convention
5+
* @tags quality
6+
* reliability
7+
* error-handling
88
* external/cwe/cwe-396
99
* @problem.severity recommendation
1010
* @sub-severity high

python/ql/src/Exceptions/EmptyExcept.ql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
* @name Empty except
33
* @description Except doesn't do anything and has no comment
44
* @kind problem
5-
* @tags reliability
6-
* maintainability
5+
* @tags quality
6+
* reliability
7+
* error-handling
78
* external/cwe/cwe-390
89
* @problem.severity recommendation
910
* @sub-severity high

python/ql/src/Exceptions/IllegalExceptionHandlerType.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* @name Non-exception in 'except' clause
33
* @description An exception handler specifying a non-exception type will never handle any exception.
44
* @kind problem
5-
* @tags reliability
6-
* correctness
7-
* types
5+
* @tags quality
6+
* reliability
7+
* error-handling
88
* @problem.severity error
99
* @sub-severity low
1010
* @precision very-high

python/ql/src/Exceptions/IllegalRaise.ql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
* @name Illegal raise
33
* @description Raising a non-exception object or type will result in a TypeError being raised instead.
44
* @kind problem
5-
* @tags reliability
6-
* correctness
7-
* types
5+
* @tags quality
6+
* reliability
7+
* error-handling
88
* @problem.severity error
99
* @sub-severity high
1010
* @precision very-high

python/ql/src/Exceptions/IncorrectExceptOrder.ql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
* @description Handling general exceptions before specific exceptions means that the specific
44
* handlers are never executed.
55
* @kind problem
6-
* @tags reliability
7-
* maintainability
6+
* @tags quality
7+
* reliability
8+
* error-handling
89
* external/cwe/cwe-561
910
* @problem.severity error
1011
* @sub-severity low

python/ql/src/Exceptions/NotImplementedIsNotAnException.ql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
* @sub-severity high
77
* @precision very-high
88
* @id py/raise-not-implemented
9-
* @tags reliability
10-
* maintainability
9+
* @tags quality
10+
* reliability
11+
* error-handling
1112
*/
1213

1314
import python

0 commit comments

Comments
 (0)