Find unreachable paragraphs and sections

Proprietary

Find paragraphs and sections that no path from the program's entry point reaches, by building a control flow graph over the procedure division and walking it. The graph follows fall-through between adjacent paragraphs, GO TO including DEPENDING ON, PERFORM including the full THRU range, and the branch targets registered by EXEC CICS HANDLE; it treats XCTL, RETURN and ABEND as ending the program. Programs containing ALTER are skipped, because ALTER retargets a GO TO at run time and leaves the program with no static control flow.

io.moderne.mainframe.analysis.controlflow.FindUnreachableProcedures
mod run . --recipe=io.moderne.mainframe.analysis.controlflow.FindUnreachableProcedures

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.