Measure each program and its control flow
ProprietaryRecord what each program costs to change: size, cyclomatic complexity, Halstead volume and a maintainability index, the fields nothing reads, the paragraphs and sections no path from the entry point reaches, and the PERFORM ... THRU ranges that overlap without nesting or are jumped out of. FindProgramComplexity, FindDeadData, FindUnreachableProcedures and FindProcedureRangePathology answer the same questions and mark what they found in the source; this one produces the tables and changes nothing.
io. moderne. mainframe. prethink. AnalyzeProgramMetricsmod run . --recipe= io. moderne. mainframe. prethink. AnalyzeProgramMetricsInstall it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.