Provides details about the complexity metrics associated with Assembler Programs.
Metric | Description |
---|---|
Absolute Complexity | Number of Binary Decisions divided by the number of statements. |
Binary Decisions | Number of branch conditional opcodes where (mask != 'FF'). |
Conditional Complexity | Number of Binary Decisions. |
Conditional Statements | Number of branch conditional opcodes where (mask != 'FF'). |
Cyclomatic Complexity | Binary Decisions + 1. |
Data Elements | DC, DS. |
Difficulty | D = (n1 / 2) * (N2 / n2), where n1 is the number of Unique Operators, N2 is the number of Operands, and n2 is the number of Unique Operands. |
Entry Points | ENTRY,CSECT, plus user defined macros. |
Error Estimate | B = E^(2/3) / 3000, where E is Programming Effort. |
Executable Statements | Number of statements of kind computation, flow, internal calls, external calls, and some system macros; e.g. BAL, BAS BASM, BALR, BASR, BASSM CALL, SVC. |
Extended Cyclomatic Complexity | Cyclomatic Complexity plus the number of Logical Operators in Conditions. Number of all paths in the program. |
Function Points | Lines of Code divided by K, where K depends on the language: COBOL=77, Natural=52, PL/I=67, ASM=1. Estimate of the number of end-user business functions implemented by the program. |
Go To Statements | The sum of unconditional and conditional Go To (If) statements: B,BR + Binary Decisions. |
Inner Call Statements | BAL, BAS. |
Intelligent Content | I = L * V, where L is the Program Level and V is the Program Volume. Complexity of a given algorithm independent of the language used to express the algorithm. |
Lines Of Code | Number of source lines in the program including copybooks. |
Loop Statements | BCT, BCTR, BXH, BXLE. |
Operands | Number of operands for computational statements. |
Operators | Number of computational statements. Operators can have zero, one or two Operands. |
Program Length | N = N1 + N2, where N1 is the number of Operators and N2 is the number of Operands. |
Program Level | L = 1 / D, where D is the program Difficulty. |
Program Volume | V = N * log2(n), where N is the Program Length and n is the program Vocabulary. Minimum number of bits required to code the program. |
Programming Effort | E = V / L, where V is the Program Volume and L is the Program Level. Estimated mental effort required to develop the program. |
Programming Time | T = E / 18, where E is the Programming Effort and 18 is Stroud's Number. Estimated amount of time required to implement the algorithm, in seconds. |
Returning Calls | Inner Call Statements + External Calls [(BAL, BAS) + (CALL, SVC, BASM, BALR, BASR, BASSM)]. |
Unique operands | Number of unique operands. |
Unique operators | Number of unique operators. |
Vocabulary | n = n1 + n2, where n1 is the number of Unique Operators and n2 is the number of Unique Operands. |