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 JEE technology and Oracle SQL supported by CAST AIP. JEE and Oracle 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  JEE
MaintainabilityASCMM-MNT-02: Class Element Excessive Inheritance of Class Elements with Concrete Implementation  TechnologyN/A Not applicable in the context of database technologies. Relational databases don't deal with objects (and, thus, inheritance) - they deal with entities and relationships.SQL
MaintainabilityASCMM-MNT-04: Callable and Method Control Element Number of Outward CallsSystem / Technology / Unit7778Avoid Artifacts with High Fan-Out

Direct implementation of the rule.

However,for JEE, OMG mandates a default value of 5 for the fan-out threshold, and the default in AIP is 4.

JEE / SQL
MaintainabilityASCMM-MNT-07: Inter-Module Dependency CyclesTechnology7292Avoid cyclical calls and inheritances between packagesDirect implementation of the rule.JEE
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.JEE
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.JEE
 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.JEE
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.JEE
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 ChildrenTechnology7792Avoid Classes with a High Number Of ChildrenDirect implementation of the rule.JEE
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 / Technology7860Avoid unreferenced Functions

JEE: Direct implementation of the rule.

SQL: This rule lists all unreferenced functions, procedures and package functions & procedures.

JEE / SQL
MaintainabilityASCMM-MNT-20: Unreachable Named Callable or Method Control ElementSystem / Technology7908Avoid unreferenced MethodsDirect implementation of the rule.JEE
Performance EfficiencyASCPEM-PRF-04: Data Resource Read and Write Access Excessive ComplexitySystem / Technology / Unit7808Avoid Artifacts with SQL statement including subqueriesSub-queries contribute to SQL query complexity. This AIP rule checks for nested SQL queries.JEE
Performance EfficiencyASCPEM-PRF-04: Data Resource Read and Write Access Excessive ComplexitySystem / Technology / Unit7130Avoid Artifacts with High Depth of Nested SubqueriesNested sub-queries contribute to SQL query complexity. This AIP rule checks for nested SQL queries.JEE
Performance EfficiencyASCPEM-PRF-05: Data Resource Read Access Unsupported by Index ElementSystem / Technology / Unit-  JEE
Performance 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 / Unit7206Avoid the use of InstanceOf inside loopsOMG rule applied to the case of type checking inside loopsJEE
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7200Avoid String concatenation in loopsOMG rule implemented for the case of concatenation inside loopsJEE
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7210Avoid instantiations inside loopsOMG rule implemented for the case of Class instantiation inside a loopJEE
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7954Avoid indirect String concatenation inside loopsOMG rule implemented for the case of concatenation inside functions called in loopsJEE
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7204Avoid method invocation in a loop termination expressionOMG rule implemented for the case of method invocation in loop condition.JEE
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. This AIP rule checks for queries executed inside loops.JEE / SQL
Performance EfficiencyASCPEM-PRF-08: Control Elements Requiring Significant Resource Element within Control Flow Loop BlockSystem / Technology / Unit7962Avoid direct or indirect remote calls inside a loopOMG rule implemented for the case of EJB or SAL call inside a loopJEE
Performance EfficiencyASCPEM-PRF-09: Non-Stored SQL Callable Control Element with Excessive Number of Data Resource AccessTechnology / Unit7914Avoid direct access to Database TablesStrict implementation of the OMG rule: forbids use of non-stored SQL procedures in Java CodeJEE
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 AccessSystem8110

Use dedicated stored procedures when multiple data accesses are needed

OMG rule implemented for SQL calls in Java code. It takes into account any database access, via explicit SQL command and via stored procedure.JEE
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.JEE
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 / Unit7424Avoid using SQL queries inside a loopSQL queries can be expensive in terms of resources. This AIP rule checks for queries executed inside loops.JEE
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-14: Storable and Member Data Element Memory Allocation Missing De-Allocation Control ElementTechnology / UnitN/A Not applicable in the Java context, where memory is fully managed.JEE / SQL
Performance EfficiencyASCPEM-PRF-15: Storable and Member Data Element Reference Missing De-Referencing Control ElementTechnology / Unit7562Avoid static Field of type collectionOMG rule implemented for static collection variables, which are storage structures with potentially increasing memory, and are created from the lifetime of the application without the possibility of being dereferenced.JEE
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-  JEE / 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 / Unit8112Avoid improper processing of the execution status of data handling operationImplementation of the OMG rule in the Java context, by checking proper handling of exceptions triggers durting data access operationsJEE
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-  SQL
ReliabilityASCRM-CWE-704: Incorrect Type Conversion or CastTechnology / Unit-  JEE / SQL
ReliabilityASCRM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit8108Close the outermost stream ASAPOMG rule implemented in the case of Java streamsJEE
ReliabilityASCRM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit8104Close database resources ASAPOMG rule implemented for Java DB accesses (JDBC, JPA and Hibernate)JEE
ReliabilityASCRM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit-  SQL
ReliabilityASCRM-CWE-788: Memory Location Access After End of BufferTechnology / UnitN/A In Java, out of bound access is detected by the language, and will throw an exceptionJEE / SQL
ReliabilityASCRM-RLB-02: Serializable  Storable Data Element without Serialization Control ElementTechnology / Unit- Not applicable in the context of database technologies.JEE / SQL
ReliabilityASCRM-RLB-03: Serializable Storable Data Element with non-Serializable Item ElementsTechnology / Unit7650All types of a serializable Class must be serializableDirect implementation of the rule.JEE
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 / Unit7504Persistent classes should Implement hashCode() and equals()OMG rule implemented in the case of Hibernate persistence.JEE
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 / Unit7728Avoid thread creation for application running on application serverOMG rule implemented for forbidding thread creationsJEE
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.JEE
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 Technology7154Avoid Fields in Action Classes that are not final staticOMG rule implemented in the case of multi-threading implemented using Struts actions.JEE
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 CyclesTechnology7292Avoid cyclical calls and inheritances between packagesDirect implementation of the rule.JEE
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.JEE
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.JEE
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.JEE
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.JEE
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.JEE
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 / Unit7732Avoid non validated inputsChecks inputs validation in the JSP contextJEE
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-  JEE / SQL
SecurityASCSM-CWE-129: Array Index Improper Input NeutralizationSystem / Technology- 

Not applicable in the context of database technologies.

 

JEE / SQL
SecurityASCSM-CWE-134: Format String Improper Input NeutralizationSystem / Technology8098Avoid uncontrolled format string (CWE-134)Direct implementation of the rule.JEE
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 / Technology7752Avoid file path manipulation vulnerabilities ( CWE-73 )Direct implementation of the rule.JEE
8218

CWE-434: Content type should be checked when receiving a HTTP Post

Direct implementation of the rule.JEE
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-  JEE / SQL
SecurityASCSM-CWE-667: Shared Resource Improper LockingTechnology-  JEE / SQL
SecurityASCSM-CWE-672: Expired or Released Resource UsageTechnology / Unit8214

CWE-672: Expired or Released Resource should not be used

Direct implementation of the rule.JEE
SecurityASCSM-CWE-672: Expired or Released Resource UsageTechnology / Unit-  SQL
SecurityASCSM-CWE-681: Numeric Types Incorrect ConversionTechnology / Unit8216

CWE-681: Avoid numerical data corruption during incompatible mutation

Direct implementation of the rule.JEE
SecurityASCSM-CWE-681: Numeric Types Incorrect ConversionTechnology / Unit-  SQL
SecurityASCSM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit8108Close the outermost stream ASAPOMG rule implemented in the case of Java streamsJEE
SecurityASCSM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit8104Close database resources ASAP OMG rule implemented for Java DB accesses (JDBC, JPA and Hibernate)JEE
SecurityASCSM-CWE-772: Missing Release of Resource after Effective LifetimeTechnology / Unit-  SQL
SecurityASCSM-CWE-789: Uncontrolled Memory AllocationSystem / Technology-  JEE / SQL
SecurityASCSM-CWE-798: Hard-Coded Credentials Usage for Remote AuthenticationTechnology / Unit8222

CWE-798 : Use of Hard-coded Credentials

Direct implementation of the rule.JEE
SecurityASCSM-CWE-798: Hard-Coded Credentials Usage for Remote AuthenticationTechnology / Unit-  SQL
SecurityASCSM-CWE-835: Loop with Unreachable Exit Condition (Infinite Loop)Technology / Unit7388Avoid artifacts having recursive callsDirect implementation of the rule.JEE
SecurityASCSM-CWE-835: Loop with Unreachable Exit Condition (Infinite Loop)Technology / Unit-  SQL

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

  • No labels