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
|