Assigning complexity ratings
Complexity ratings are defined based on the effort required to
convert, test, and coordinate a construct or program. The ratings
used in Table 1 are defined as:
Complexity rating | Requirement |
---|---|
0 | All code converted by CCCA without error; code compiles correctly under Enterprise COBOL |
1-3 | Requires moderate testing
Requires moderate coordination Most code converted without error by CCCA |
4 | Requires CCCA and possible manual conversion
Requires special testing considerations |
5-6 | Requires moderate to high degree of coordination
Requires moderate to high degree of testing for functional equivalence Requires conversion in addition to CCCA (manual or automated) |
7-8 | Requires high degree of coordination
Requires high degree of testing for functional equivalence |
9 | Requires very high degree of coordination
Requires very high degree of testing for functional equivalence |
10 | Requires rewrite of module |
Based on the complexity ratings shown above (or your own defined complexity ratings), you can now assign a complexity rating to each attribute within a program. Use the highest complexity rating listed as the overall rating for that program. For an application, the highest complexity rating that you assign for any program within the application is the complexity rating for the entire application.
Table 1 shows estimated complexity
ratings for conversions of specific program attributes.
Program attribute | Description of attribute | Complexity rating | ||
---|---|---|---|---|
Lines of source code | 1000 or less | 0 | ||
5000 to 10,000 | 3 | |||
10,000 to 20,000 + | 5 | |||
Fixed file attribute mismatch (FS 39)1 | 4 | |||
VS COBOL II or later compiled with CMPR2 | Compiler option CMPR2 not supported | 1 | C | |
74 COBOL Standard COPY library members | 1 | M | C | |
ANS COBOL V4 COPY library members | 1 to 10 | 2 | M | C |
10 to 20 | 5 | M | C | |
20 + | 6 | M | C | |
Stability | Program with no plans for changes | 0 | ||
Program changes twice a year | 3 | |||
Program changes every month or more often | 8+ | |||
Files accessed | 1 to 3 | 1 | M | C |
3 to 5 | 2 | M | C | |
6 + | 3 | M | C | |
No source code for module | Module needs rewrite | 102 | ||
Module does not need to be upgraded | 6 | |||
CICS® macro level program | 10 | |||
Compiled by Full ANS COBOL V4 compiler (pre- compiler) | 4 | C | ||
Compiled by OS/VS COBOL Release 2 compiler | LANGLVL(2) no manual changes | 1 | M | C |
LANGLVL(1) no manual changes | 1 | M | C | |
LANGLVL(2) manual changes | 4 | M | C | |
LANGLVL(1) manual changes | 4 | M | C | |
Uses language with changed results | Complex OCCURS DEPENDING ON | 4 | C | |
Combined abbreviated relation conditions | 6 | M | ||
Floating-point arithmetic | 6 | M | ||
Exponentiation | 6 | M | ||
Signed data | 2 | |||
Binary data | 2 | |||
Numeric USAGE DISPLAY | 5 | |||
Access methods used | ISAM3 | 10 | M | C |
BDAM | 10 | C4 | ||
TCAM | 10 | |||
Uses Report Writer language (if not using Report Writer Precompiler) | 6 | M | C | |
Uses Report Writer language (if using Report Writer Precompiler) | 0 | |||
CICS | 4 | |||
SIMVRD | 3 | |||
SOM-based OO | 8 | |||
LABEL declaratives | 3 | |||
On categories marked M you can gather information using the OS/VS COBOL MIGR option. On categories marked C you can gather information using the COBOL conversion tool (CCCA). |