88 Rules
ID | Name | Severity |
---|---|---|
5050 | Avoid using HANDLE CONDITION |
medium
|
5052 | Avoid using IGNORE CONDITION |
medium
|
5054 | Avoid using HANDLE ABEND |
medium
|
5056 | Using SEARCH ALL only with sorted data |
medium
|
5058 | Avoid using SORT |
medium
|
5060 | Avoid using MERGE |
medium
|
5062 | Avoid using ALTER |
high
|
5064 | Program naming convention - prefix control |
medium
|
5066 | Avoid using PERFORM ... THROUGH | THRU |
medium
|
5068 | Avoid STOP RUN (use GOBACK instead) |
medium
|
5070 | Section naming convention - prefix control |
medium
|
5072 | Avoid DISPLAY ... UPON CONSOLE |
medium
|
5074 | Paragraph naming convention - prefix control |
medium
|
5080 | Avoid Procedure Paragraphs that contains no statements |
medium
|
5082 | Avoid Procedure Sections that contain no Paragraph |
medium
|
5086 | Avoid using Sections in the PROCEDURE DIVISION (use Paragraphs only) |
medium
|
5090 | Avoid using NEXT SENTENCE |
medium
|
5092 | Include a WHEN OTHER clause when using EVALUATE |
medium
|
5094 | Avoid using MOVE CORRESPONDING ... TO ... |
high
|
5100 | Avoid large Sections - too many Lines of Code |
medium
|
5104 | Avoid large Programs - too many Sections |
medium
|
5108 | Avoid Sections with a very low comment/code ratio (COBOL) |
medium
|
5110 | Avoid Programs with a very low comment/code ratio (COBOL) |
medium
|
5112 | Avoid undocumented Sections (COBOL) |
medium
|
5114 | Avoid undocumented Programs (COBOL) |
medium
|
5116 | Avoid undocumented Paragraphs |
medium
|
5138 | Avoid Programs with lines exceeding the maximum length of characters |
medium
|
5144 | Avoid using GOTO statement (COBOL) |
medium
|
7218 | Avoid OPEN/CLOSE inside loops |
critical
|
7234 | EVALUATE statements must be closed by END-EVALUATE |
medium
|
7236 | Avoid recursive calls with PERFORM statements |
high
|
7274 | Avoid GOTO jumps out of PERFORM range |
critical
|
7288 | Avoid cyclic calls with PERFORM statements |
critical
|
7290 | Avoid unreferenced Sections and Paragraphs |
medium
|
7300 | Avoid large Paragraphs - too many Lines of Code |
medium
|
7302 | Avoid using Pointers |
medium
|
7304 | IF statements must be closed by END-IF |
medium
|
7366 | File descriptor block must be defined with 0 record |
critical
|
7368 | When using binary data items (COMP), then use the SYNCHRONIZED clause |
medium
|
7370 | Avoid using inline PERFORM with too many lines of code |
medium
|
7548 | Never use incompatible statements with the CICS environment |
high
|
7550 | Avoid using nested programs |
medium
|
7552 | Avoid incoherent file accesses in Cobol programs and DISP clauses in JCL |
medium
|
7554 | Never access an IMS segment with an access mode not authorized in the PCB |
medium
|
7558 | Avoid accessing data by using the position and length |
medium
|
7644 | Avoid executing multiple OPEN statements |
medium
|
7688 | Never truncate data in MOVE statements |
critical
|
7690 | Avoid unchecked return code (SQLCODE) after EXEC SQL query |
high
|
7692 | Each opened file must be closed |
medium
|
7694 | Avoid calling the same paragraph with PERFORM and GO TO statements |
medium
|
7696 | A Copybook should not include other Copybooks |
medium
|
7698 | Files should be declared with a FILE-STATUS |
medium
|
7718 | Sections and paragraphs should be located after the first statement calling them |
medium
|
7754 | Avoid using COMPUTE statement for elementary arithmetic operation |
medium
|
7756 | Avoid using READ statement without AT END clause or INVALID KEY clause |
medium
|
7766 | Avoid Artifacts with High Cyclomatic Complexity |
medium
|
7768 | Avoid Artifacts with High Depth of Code |
medium
|
7772 | Avoid Artifacts with High Essential Complexity |
medium
|
7774 | Avoid Artifacts with High Integration Complexity |
medium
|
7776 | Avoid Artifacts with High Fan-In |
medium
|
7778 | Avoid Artifacts with High Fan-Out |
medium
|
7806 | Avoid Artifacts with Group By |
medium
|
7808 | Avoid Artifacts with SQL statement including subqueries |
medium
|
7810 | Avoid Artifacts with a Complex SELECT Clause |
medium
|
7822 | Avoid Artifacts with queries on more than 4 Tables |
medium
|
7828 | Avoid Artifacts with High RAW SQL Complexity |
medium
|
7842 | Avoid large Artifacts - too many Lines of Code |
medium
|
7902 | Avoid SQL queries that no index can support |
medium
|
7904 | Avoid SQL queries on XXL tables that no index can support |
high
|
8030 | Check alphanumeric data before moving it into numeric data |
medium
|
8034 | Working-Storage variables must be initialized before being read |
medium
|
8140 | Subscripts and iterators must be defined with BINARY usage |
medium
|
8142 | Prefer using indexes instead of subscripts |
medium
|
8144 | Avoid using INITIALIZE statement on data structures |
medium
|
8146 | Avoid calling programs statically |
medium
|
8160 | Check PCB status code after DLI queries |
medium
|
8162 | CICS return code should be checked |
medium
|
8236 | Avoid using hard-coded values |
medium
|
8468 | Program semantic should respect the logic of flow execution |
critical
|
8470 | Avoid using STRING without overflow check |
high
|
8476 | Avoid calling unsafe C library functions from COBOL |
critical
|
8478 | Avoid Buffer Overruns when using ADD, SUBTRACT, MULTIPLY, DIVIDE & COMPUTE statement inside a loop |
critical
|
8480 | Avoid using PREPARE STMT statement (Dynamic SQL) with STRING containing HOST variables |
critical
|
8556 | 'XML GENERATE' should be used with 'WITH ENCODING' |
medium
|
8558 | Avoid using XML PARSE without 'VALIDATING' |
high
|
1101036 | Use ANSI standard operators in SQL WHERE clauses |
medium
|
1101108 | Avoid Cobol SQL Cursors without FOR READ ONLY or FOR FETCH ONLY or FOR UPDATE or BROWSE ACCESS clauses |
medium
|
1101112 | Avoid LOCK TABLE statements in SQL code for COBOL Programs |
medium
|