Further Reading — Chapter 41: Legacy Code Archaeology

Books

  • Working Effectively with Legacy Code by Michael Feathers — The definitive guide to understanding and modifying legacy code. While examples are in Java/C++, the principles apply directly to COBOL.

  • Code Reading: The Open Source Perspective by Diomidis Spinellis — Techniques for reading large codebases systematically.

  • The Legacy Code Programmer's Toolbox by Jonathan Boccara — Practical strategies for navigating unfamiliar code.

IBM Documentation

  • IBM Application Discovery and Delivery Intelligence (ADDI) — https://www.ibm.com/products/app-discovery — Automated COBOL analysis tool for building call graphs, data flow diagrams, and cross-references.

  • IBM Debug Tool for z/OS — Interactive debugging for stepping through legacy COBOL programs and observing data flow at runtime.

Vendor Tools

  • OpenText (Micro Focus) Enterprise Analyzer — Cross-reference reports, flow analysis, impact analysis, and complexity metrics for COBOL.

  • BMC (Compuware) Topaz — Program visualization, data lineage analysis, and interactive code understanding.

  • SonarQube COBOL Plugin — Code quality metrics, complexity measurement, and coding standard enforcement.

Articles

  • "Understanding Legacy COBOL: A Systematic Approach" — Search mainframe community sites (Planet Mainframe, IBM Developer) for practical guides to code archaeology.

  • "The Retirement Risk: Capturing Mainframe Knowledge" — GAO reports and industry analyses on the mainframe talent crisis and knowledge management strategies.

Online Resources

  • Open Mainframe Project (https://www.openmainframeproject.org/) — Community resources including tools for COBOL analysis.

  • Planet Mainframe (https://planetmainframe.com/) — Industry articles on legacy modernization and code understanding.

  • COBOL Cowboys (https://cobolcowboys.com/) — Community of COBOL professionals sharing knowledge about legacy systems.

Academic Research

  • Program Comprehension — Academic research on how programmers understand unfamiliar code. Search ACM Digital Library and IEEE Xplore for "program comprehension COBOL" for research specific to COBOL systems.

  • Reverse Engineering — IEEE conferences on reverse engineering (WCRE, SANER) include papers on automated COBOL analysis techniques.