This page presents the CISQ/OMG Quality Measurement Rules at unit-level for applications based on ABAP technology and SAP SQL supported by CAST AIP. ABAP and SAP SQL is an example of a common technology stack used in many applications. If necessary, CAST can help create overview of CISQ coverage for other combinations of technologies.
OMG Characteristics | OMG Rule Id and Name | Levels | AIP QR Id | AIP QR Name | Description of Coverage | Source Techno |
---|---|---|---|---|---|---|
Maintainability | ASCMM-MNT-01: Control Flow Transfer Control Element outside Switch Block | Unit | 7850 | Avoid raising an exception in a Web Dynpro Supply Function or in a Method called by a Supply Function | The AIP rule checks if the control flow is not broken in methods and functions implemented in Web Dynpro applications. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-01: Control Flow Transfer Control Element outside Switch Block | Unit | 7672 | Avoid using EXIT statement in Include | Using the EXIT statement to jump out a control block can be considered as transferring the control flow. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-01: Control Flow Transfer Control Element outside Switch Block | Unit | 7864 | BAPIs must not cause the Program to abort or terminate | The AIP rule checks if the control flow is not broken in methods implemented in BAPI components. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-01: Control Flow Transfer Control Element outside Switch Block | Unit | 7892 | Web Dynpro - Avoid changing the program flow | The AIP rule checks if the control flow in Web Dynpro applications is not broken and transferred to another transaction through the CALL TRANSACTION statement. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-03: Storable and Member Data Element Initialization with Hard-Coded Literals | Unit | 7522 | Avoid using literals in assignments (hardcoded values) | This AIP rule checks for variables initialized with non trivial literals and for variables that are compared to non trivial literals. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-05: Loop Value Update within the Loop | Unit | - | ABAP / SAP SQL | ||
Maintainability | ASCMM-MNT-06: Commented Code Element Excessive Volume | Unit | 7126 | Avoid Artifacts with high Commented-out Code Lines/Code Lines ratio | Direct implementation of the rule. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-08: Source Element Excessive Size | Unit | 7842 | Avoid large Artifacts - too many Lines of Code | Direct implementation of the rule. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-11: Callable and Method Control Element Excessive Cyclomatic Complexity Value | Unit | 7766 | Avoid Artifacts with High Cyclomatic Complexity | Direct implementation of the rule. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-13: Callable and Method Control Element Excessive Number of Parameters | Unit | - | ABAP / SAP SQL | ||
Maintainability | ASCMM-MNT-14: Callable and Method Control Element Excessive Number of Control Elements involving Data Element from Data Manager or File Resource | Unit | - | ABAP / SAP SQL | ||
Maintainability | ASCMM-MNT-15: Public Member Element | Unit | 7624 | Class members should be declared as Private | The AIP rule checks for Member elements that are Public or Protected. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-15: Public Member Element | Unit | 7794 | Avoid Classes with a High Public Data Ratio | The Public Data Ratio is directly linked to Public Member Elements. | ABAP / SAP SQL |
Maintainability | ASCMM-MNT-16: Method Control Element Usage of Member Element from other Class Element | Unit | - | ABAP / SAP SQL | ||
Maintainability | ASCMM-MNT-19: Named Callable and Method Control Element Excessive Similarity | Unit | 7156 | Avoid Too Many Copy Pasted Artifacts | Element similarity is addressed by the copy/paste ratio measured by the AIP rule. | ABAP / SAP SQL |
Performance Efficiency | ASCPEM-PRF-01: Static Block Element containing Class Instance Creation Control Element | Unit | - | ABAP / SAP SQL | ||
Performance Efficiency | ASCPEM-PRF-02: Immutable Storable and Member Data Element Creation | Unit | N/A | This rule is not applicable to ABAP language. | ABAP / SAP SQL | |
Performance Efficiency | ASCPEM-PRF-03: Static Member Data Element outside of a Singleton Class Element | Unit | - | ABAP / SAP SQL | ||
Performance Efficiency | ASCPEM-PRF-06: Large Data Resource ColumnSet Excessive Number of Index Elements | Unit | 7348 | Avoid too many Indexes on one Table | Direct implementation of the rule. | ABAP / SAP SQL |
Performance Efficiency | ASCPEM-PRF-07: Large Data Resource ColumnSet with Index Element of Excessive Size | Unit | 7350 | Avoid Tables having Indexes with a too large Index definition | Direct implementation of the rule. | ABAP / SAP SQL |
Performance Efficiency | ASCPEM-PRF-13: Data Resource Access not using Connection Pooling capability | Unit | - | ABAP / SAP SQL | ||
Reliability | ASCRM-CWE-252-resource: Unchecked Return Parameter Value of named Callable and Method Control Element with Read, Write, and Manage Access to Platform Resource | Unit | 8012 | Avoid unchecked return code (SY-SUBRC) after opening and reading dataset | Direct implementation of the rule for ABAP and dataset accesses. | ABAP / SAP SQL |
Reliability | ASCRM-CWE-396: Declaration of Catch for Generic Exception | Unit | - | ABAP / SAP SQL | ||
Reliability | ASCRM-CWE-397: Declaration of Throws for Generic Exception | Unit | - | ABAP / SAP SQL | ||
Reliability | ASCRM-CWE-456: Storable and Member Data Element Missing Initialization | Unit | - | ABAP / SAP SQL | ||
Reliability | ASCRM-CWE-674:Uncontrolled Recursion | Unit | 7388 | Avoid artifacts having recursive calls | Direct implementation of the rule. | ABAP / SAP SQL |
Reliability | ASCRM-RLB-01: Empty Exception Block | Unit | 7788 | Avoid empty catch blocks | Direct implementation of the rule. | ABAP / SAP SQL |
Reliability | ASCRM-RLB-01: Empty Exception Block | Unit | 8106 | Avoid empty IF-ENDIF blocks | Empty conditional blocks can be considered as a way to not manage situations like catch block without any statement. This AIP rule checks for IF..ENDIF blocks that contain no statement. | ABAP / SAP SQL |
Reliability | ASCRM-RLB-06: Storable or Member Data Element containing Pointer Item Element without Proper Copy Control Element | Unit | N/A | This rule is not applicable to ABAP language. | ABAP / SAP SQL | |
Reliability | ASCRM-RLB-07: Class Instance Self Destruction Control Element | Unit | N/A | Not applicable in the ABAP context, where concept of destructor is not part of the ABAP Object language specification. | ABAP / SAP SQL | |
Reliability | ASCRM-RLB-08: Named Callable and Method Control Elements with Variadic Parameter Element | Unit | N/A | This rule is not applicable to ABAP language. | ABAP / SAP SQL | |
Reliability | ASCRM-RLB-09: Float Type Storable and Member Data Element Comparison with Equality Operator | Unit | - | ABAP / SAP SQL | ||
Reliability | ASCRM-RLB-12: Singleton Class Instance Creation without Proper Lock Element Management | Unit | - | ABAP / SAP SQL | ||
Reliability | ASCRM-RLB-15: Class Element with Virtual Method Element without Virtual Destructor | Unit | N/A | Not applicable in the ABAP context, where concept of destructor is not part of the ABAP Object language specification. | ABAP / SAP SQL | |
Reliability | ASCRM-RLB-16: Parent Class Element without Virtual Destructor Method Element | Unit | N/A | Not applicable in the ABAP context, where concept of destructor is not part of the ABAP Object language specification. | ABAP / SAP SQL | |
Reliability | ASCRM-RLB-17: Child Class Element without Virtual Destructor unlike its Parent Class Element | Unit | N/A | Not applicable in the ABAP context, where concept of destructor is not part of the ABAP Object language specification. | ABAP / SAP SQL | |
Reliability | ASCRM-RLB-18: Storable and Member Data Element Initialization with Hard-Coded Network Resource Configuration Data | Unit | 7526 | Avoid using hardcoded paths | Implementation of the rule for hard-coded paths. | ABAP / SAP SQL |
Reliability | ASCRM-RLB-19: Synchronous Call Time-Out Absence | Unit | - | ABAP / SAP SQL | ||
Security | ASCSM-CWE-252-resource: Unchecked Return Parameter Value of named Callable and Method Control Element with Read, Write, and Manage Access to Platform Resource | Unit | - | ABAP / SAP SQL | ||
Security | ASCSM-CWE-327: Broken or Risky Cryptographic Algorithm Usage | Unit | - | ABAP / SAP SQL | ||
Security | ASCSM-CWE-396: Declaration of Catch for Generic Exception | Unit | - | ABAP / SAP SQL | ||
Security | ASCSM-CWE-397: Declaration of Throws for Generic Exception | Unit | - | ABAP / SAP SQL | ||
Security | ASCSM-CWE-456: Storable and Member Data Element Missing Initialization | Unit | - | ABAP / SAP SQL |
Unit