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. |