Page tree
Skip to end of metadata
Go to start of metadata

Error rendering macro 'redirect'

Invalid URL: "CISQ - CWE - OWASP rules". Please provide a valid URL to redirect to.

This page presents the CISQ/OMG Quality Measurement Rules coverage at system- and technology-level for applications based on .NET technology and Microsoft SQL supported by CAST AIP. .NET and Microsoft SQL is an example of a common technology stack used in many applications. If necessary, CAST can help create an overview of CISQ coverage for other combinations of technologies.

OMG CharacteristicsOMG Rule Id and NameLevelsAIP QR IdAIP QR NameDescriptionSource Techno
MaintainabilityASCMM-MNT-02: Class Element Excessive Inheritance of Class Elements with Concrete Implementation  TechnologyN/A 

.NET: does not provide multiple heritage for classes

SQL: Not applicable in the context of database technologies. Relational databases don't deal with objects (and, thus, inheritance) - they deal with entities and relationships.

.NET / SQL
MaintainabilityASCMM-MNT-04: Callable and Method Control Element Number of Outward CallsSystem / Technology / Unit7778

Avoid Artifacts with High Fan-Out

Direct implementation of the rule..NET / SQL
MaintainabilityASCMM-MNT-07: Inter-Module Dependency CyclesTechnology7294Avoid cyclical calls and inheritances between namespaces contentOMG rule is implemented for the namespaces..NET
MaintainabilityASCMM-MNT-07: Inter-Module Dependency CyclesTechnologyN/A Not applicable in the context of database technologies. The modules are usually developed using a programming language.SQL
MaintainabilityASCMM-MNT-09: Horizontal Layer Excessive NumberSystemACArchitecture CheckerExcessive number of layers are detected when defining the architecture..NET
MaintainabilityASCMM-MNT-09: Horizontal Layer Excessive NumberSystemN/A Not applicable to DBMS technologiesSQL
MaintainabilityASCMM-MNT-10: Named Callable and Method Control Element Multi-Layer SpanSystemACArchitecture CheckerComponents that span several layers are detected when defining the architecture..NET
MaintainabilityASCMM-MNT-10: Named Callable and Method Control Element Multi-Layer SpanSystemN/A Not applicable to DBMS technologiesSQL
MaintainabilityASCMM-MNT-12: Named Callable and Method Control Element with Layer-skipping CallSystemACArchitecture CheckerDefining the architecture with Architecture Checker and specifying the authorized links between the layers allow to pinpoint the components with layer-skipping calls..NET
MaintainabilityASCMM-MNT-12: Named Callable and Method Control Element with Layer-skipping CallSystemN/A Not applicable to DBMS technologiesSQL
MaintainabilityASCMM-MNT-17: Class Element Excessive Inheritance LevelTechnology7802Avoid Classes with a High Depth of Inheritance TreeDirect implementation of the rule..NET
MaintainabilityASCMM-MNT-17: Class Element Excessive Inheritance LevelTechnologyN/A Not applicable in the context of database technologies. SQL
MaintainabilityASCMM-MNT-18: Class Element Excessive Number of ChildrenTechnology7792

Avoid Classes with a High Number Of Children

Direct implementation of the rule..NET
MaintainabilityASCMM-MNT-18: Class Element Excessive Number of ChildrenTechnologyN/A Not applicable in the context of database technologies. SQL
MaintainabilityASCMM-MNT-20: Unreachable Named Callable or Method Control ElementSystem / Technology7908Avoid unreferenced MethodsDirect implementation of the rule..NET
MaintainabilityASCMM-MNT-20: Unreachable Named Callable or Method Control ElementSystem / Technology

7860

 

Avoid unreferenced Functions This rule lists all unreferenced functions, procedures and package functions & procedures.SQL
Performance EfficiencyASCPEM-PRF-04: Data Resource Read and Write Access Excessive ComplexitySystem / Technology / Unit

7808

 

Avoid Artifacts with SQL statement including subqueriesSub-queries contribute to SQL query complexity. This AIP rule checks for nested SQL queries..NET / SQL
Performance EfficiencyASCPEM-PRF-04: Data Resource Read and Write Access Excessive ComplexitySystem / Technology / Unit7130Avoid Artifacts with High Depth of Nested SubqueriesThe complexity of SQL subqueries can cause performance issues..NET
Performance EfficiencyASCPEM-PRF-05: Data Resource Read Access Unsupported by Index ElementSystem / Technology / Unit-  .NET
erformance EfficiencyASCPEM-PRF-05: Data Resource Read Access Unsupported by Index ElementSystem / Technology / Unit7902Avoid SQL queries that no index can supportDirect implementation of the rule.SQL
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit

7470

Avoid doing select on Data table in loop

SQL queries can be expensive in terms of resources. This AIP rule checks for queries executed inside loops..NET
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7198Avoid String concatenation in loopsString concatenation can be expensive in terms of resources. This AIP rule checks for concatenations executed inside loops..NET
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7204Avoid method invocation in a loop termination expressionMethod invocation can be expensive in terms of resources inside a loop. This AIP rule checks for method invocation executed inside loops..NET
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7424Avoid using SQL queries inside a loopSQL queries can be expensive in terms of resources inside a loop. This AIP rule checks for SQL queries executed inside loops..NET / SQL
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7212Avoid instantiations inside loopsOMG rule implemented for the case of Class instantiation inside a loop.NET
Performance EfficiencyASCPEM-PRF-09: Non-Stored SQL Callable Control Element with Excessive Number of Data Resource AccessTechnology / Unit7914Avoid direct access to Database TablesOMG rule has been implemented for the SQL requests..NET
Performance EfficiencyASCPEM-PRF-09: Non-Stored SQL Callable Control Element with Excessive Number of Data Resource AccessTechnology / Unit-  SQL
Performance EfficiencyASCPEM-PRF-10: Non-SQL Named Callable and Method Control Element with Excessive Number of Data Resource AccessSystem8110Use dedicated stored procedures when multiple data accesses are neededOMG rule implemented for SQL calls in .NET code. It takes into account any database access, via explicit SQL command and via stored procedure..NET
Performance EfficiencyASCPEM-PRF-10: Non-SQL Named Callable and Method Control Element with Excessive Number of Data Resource AccessSystem-  SQL
Performance EfficiencyASCPEM-PRF-11: Data Access Control Element from Outside Designated Data Manager ComponentSystem / TechnologyACArchitecture CheckerDefining the architecture with Architecture Checker and specifying the authorized links between the layers allow to pinpoint the components with layer-skipping calls..NET
Performance EfficiencyASCPEM-PRF-11: Data Access Control Element from Outside Designated Data Manager ComponentSystem / TechnologyN/A Not applicable to DBMS technologiesSQL
Performance EfficiencyASCPEM-PRF-12: Storable and Member Data Element Excessive Number of Aggregated Storable and Member Data ElementsTechnology / Unit-

 

 .NET
Performance EfficiencyASCPEM-PRF-12: Storable and Member Data Element Excessive Number of Aggregated Storable and Member Data ElementsTechnology / UnitN/A Not applicable in the context of database technologies.SQL
Performance EfficiencyASCPEM-PRF-13: Data Resource Access not using Connection Pooling capabilityUnit-  .NET
Performance EfficiencyASCPEM-PRF-14: Storable and Member Data Element Memory Allocation Missing De-Allocation Control ElementTechnology / Unit-  .NET
Performance EfficiencyASCPEM-PRF-14: Storable and Member Data Element Memory Allocation Missing De-Allocation Control ElementTechnology / Unit-  SQL
Performance EfficiencyASCPEM-PRF-15: Storable and Member Data Element Reference Missing De-Referencing Control ElementTechnology / Unit3612Close SQL connection ASAPOMG rule is implemented for the SQL connections.NET
Performance EfficiencyASCPEM-PRF-15: Storable and Member Data Element Reference Missing De-Referencing Control ElementTechnology / UnitN/A Not applicable in the context of database technologies.SQL
ReliabilityASCRM-CWE-120: Buffer Copy without Checking Size of InputTechnology / Unit-  .NET / SQL
ReliabilityASCRM-CWE-252-data: Unchecked Return Parameter Value of named Callable and Method Control Element with Read, Write, and Manage Access to Data ResourceSystem / Technology / Unit-  .NET / SQL
ReliabilityASCRM-CWE-704: Incorrect Type Conversion or CastTechnology / Unit8148

Avoid artifacts having Incorrect Type Conversion or Cast

 .NET
ReliabilityASCRM-CWE-704: Incorrect Type Conversion or CastTechnology / Unit-  SQL
ReliabilityASCRM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit3612

Close SQL connection ASAP

"Close SQL connection ASAP" covers a subset, the OMG rule is more general: it is about detecting unreleased resources..NET
ReliabilityASCRM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit-  SQL
ReliabilityASCRM-CWE-788: Memory Location Access After End of BufferTechnology / UnitN/A The management of the memory is done automatically..NET
ReliabilityASCRM-CWE-788: Memory Location Access After End of BufferTechnology / Unit-  SQL
ReliabilityASCRM-RLB-02: Serializable  Storable Data Element without Serialization Control ElementTechnology / Unit-  .NET
ReliabilityASCRM-RLB-02: Serializable  Storable Data Element without Serialization Control ElementTechnology / UnitN/A Not applicable in the context of database technologies.SQL
ReliabilityASCRM-RLB-03: Serializable Storable Data Element with non-Serializable Item ElementsTechnology / Unit-  .NET
ReliabilityASCRM-RLB-03: Serializable Storable Data Element with non-Serializable Item ElementsTechnology / UnitN/A Not applicable in the context of database technologies. SQL
ReliabilityASCRM-RLB-04: Persistant  Storable Data Element without Proper Comparison Control ElementTechnology / Unit7504

Persistent classes should Implement hashCode() and equals()

 .NET
ReliabilityASCRM-RLB-04: Persistant  Storable Data Element without Proper Comparison Control ElementTechnology / UnitN/A Not applicable in the context of database technologies.SQL
ReliabilityASCRM-RLB-05: Runtime Resource Management Control Element in a Component Built to Run on Application ServersTechnology / Unit7728

Avoid thread creation for application running on application server

 .NET
ReliabilityASCRM-RLB-05: Runtime Resource Management Control Element in a Component Built to Run on Application ServersTechnology / UnitN/A Not applicable in the context of database technologies.SQL
ReliabilityASCRM-RLB-10: Data Access Control Element from Outside Designated Data Manager ComponentSystem / TechnologyACArchitecture CheckerDefining the architecture with Architecture Checker and specifying the authorized links between the layers allow to pinpoint the components with layer-skipping calls..NET
ReliabilityASCRM-RLB-10: Data Access Control Element from Outside Designated Data Manager ComponentSystem / TechnologyN/A Not applicable to DBMS technologiesSQL
ReliabilityASCRM-RLB-11: Named Callable and Method Control Element in Multi-Thread Context with non-Final Static Storable or Member Element Technology-  .NET
ReliabilityASCRM-RLB-11: Named Callable and Method Control Element in Multi-Thread Context with non-Final Static Storable or Member Element TechnologyN/A Not applicable in the context of database technologies.SQL
ReliabilityASCRM-RLB-13: Inter-Module Dependency CyclesTechnology7294Avoid cyclical calls and inheritances between namespaces contentDirect implementation of the rule..NET
ReliabilityASCRM-RLB-13: Inter-Module Dependency CyclesTechnologyN/A Not applicable in the context of database technologies. SQL
ReliabilityASCRM-RLB-14: Parent Class Element with References to Child Class ElementTechnology7934Avoid Superclass (or Interface) knowing Subclass (or Interface)Direct implementation of the rule..NET
ReliabilityASCRM-RLB-14: Parent Class Element with References to Child Class ElementTechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-022: Path Traversal Improper Input NeutralizationSystem / Technology7752Avoid file path manipulation vulnerabilities ( CWE-73 )Direct implementation of the rule..NET
SecurityASCSM-CWE-022: Path Traversal Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-078: OS Command Injection Improper Input NeutralizationSystem / Technology7748Avoid OS command injection vulnerabilities ( CWE-78 )Direct implementation of the rule..NET
SecurityASCSM-CWE-078: OS Command Injection Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-079: Cross-site Scripting Improper Input NeutralizationSystem / Technology7740Avoid cross-site scripting DOM vulnerabilities ( CWE-79 )Direct implementation of the rule..NET
SecurityASCSM-CWE-079: Cross-site Scripting Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-089: SQL Injection Improper Input NeutralizationSystem / Technology7742Avoid SQL injection vulnerabilities ( CWE-89 )Direct implementation of the rule..NET
SecurityASCSM-CWE-089: SQL Injection Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-99: Name or Reference Resolution Improper Input NeutralizationSystem / Technology / Unit-  .NET
SecurityASCSM-CWE-99: Name or Reference Resolution Improper Input NeutralizationSystem / Technology / UnitN/A Not applicable in the context of database technologies.SQL
SecurityASCSM-CWE-120: Buffer Copy without Checking Size of InputTechnology / Unit-  .NET / SQL
SecurityASCSM-CWE-129: Array Index Improper Input NeutralizationSystem / Technology-  .NET
SecurityASCSM-CWE-129: Array Index Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-134: Format String Improper Input NeutralizationSystem / Technology-  .NET
SecurityASCSM-CWE-134: Format String Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-434: File Upload Improper Input NeutralizationSystem / Technology-  .NET
SecurityASCSM-CWE-434: File Upload Improper Input NeutralizationSystem / TechnologyN/A Not applicable in the context of database technologies. SQL
SecurityASCSM-CWE-606: Unchecked Input for Loop ConditionSystem / Technology-  .NET / SQL
SecurityASCSM-CWE-667: Shared Resource Improper LockingTechnology-  .NET / SQL
SecurityASCSM-CWE-672: Expired or Released Resource UsageTechnology / Unit-  .NET / SQL
SecurityASCSM-CWE-681: Numeric Types Incorrect ConversionTechnology / Unit-  .NET / SQL
SecurityASCSM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit3612Close SQL connection ASAP"Close SQL connection ASAP" covers a subset, the OMG rule is more general: it is about detecting unreleased resources..NET
8108

Close the outermost stream ASAP

 .NET
SecurityASCSM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit-  SQL
SecurityASCSM-CWE-789: Uncontrolled Memory AllocationSystem / Technology-  .NET / SQL
SecurityASCSM-CWE-798: Hard-Coded Credentials Usage for Remote AuthenticationTechnology / Unit8222

CWE-798 : Use of Hard-coded Credentials

 .NET
SecurityASCSM-CWE-798: Hard-Coded Credentials Usage for Remote AuthenticationTechnology / Unit-  SQL
SecurityASCSM-CWE-835: Loop with Unreachable Exit Condition (Infinite Loop)Technology / Unit7388

Avoid artifacts having recursive calls

 .NET
SecurityASCSM-CWE-835: Loop with Unreachable Exit Condition (Infinite Loop)Technology / Unit-  SQL

Unit-level CISQ/OMG Quality Measurement Rules for a .NET and Microsoft SQL application can be found here: CISQ/OMG Automated Source Code Measurement Standards Coverage for a .NET and Microsoft SQL application - Unit-level

  • No labels