On this page
Pick by job: IBM ADDI or OpenText Enterprise Analyzer to analyze a mainframe portfolio, IBM watsonx Code Assistant for Z or AWS Transform to convert COBOL to Java, AWS Mainframe Modernization or Raincode to replatform it, and repowise to map and document COBOL source in git without a mainframe connection. Most programs use one tool from each group, so the question is which job you are on this quarter.
| Tool | Job | What it does (as of November 2026) | Runs |
|---|---|---|---|
| IBM ADDI | Understand | Scans mainframe source, generates call graphs, visualizes dependencies | Vendor-installed, IBM tooling |
| OpenText Enterprise Analyzer | Understand | Static analysis of mainframe portfolios for application understanding and impact analysis | Vendor-installed |
| IBM watsonx Code Assistant for Z | Convert | Explains code, refactors COBOL and PL/I into services, converts COBOL to Java | IBM, generative AI |
| AWS Mainframe Modernization | Replatform, refactor | Replatform with partner toolchains, refactor to Java with AWS Transform | AWS |
| Raincode | Replatform | COBOL compiler targeting .NET | Azure or .NET |
| CAST Highlight | Portfolio view | Application health and tech debt across languages and frameworks | SaaS |
| repowise | Understand, document | Map and docs from source in git, git history, MCP answers | Self-hosted, offline |
Scroll the table sideways to see every column.
Sources are each vendor's own pages, read on 1 November 2026. Pricing is omitted: these products are sold by quote. We did not verify Google Cloud's or Microsoft Azure's mainframe offerings from their pages for this post, so they are not rated here.
We build repowise, so weigh our entry accordingly. The measurements we publish about it, with their methods, are on the benchmarks page.
How we evaluated
- Job: understand, convert, or replatform. Mixing the three is how modernization estimates slip.
- Input: live mainframe assets (catalogs, load modules) or source in a repository.
- Deployment: vendor-installed, cloud, or self-hosted and offline.
- Evidence: what the vendor's own page states, nothing inferred.
Understand: IBM ADDI and OpenText Enterprise Analyzer
ADDI and Enterprise Analyzer are the incumbents for mapping a mainframe estate. IBM describes Application Discovery and Delivery Intelligence as scanning application source to discover relationships between programs, with auto-generated call graphs and dependency visualization (per IBM, November 2026). OpenText (formerly Micro Focus) positions Enterprise Analyzer as static analysis for mainframe portfolios, covering application understanding and impact analysis. We could not load OpenText's page when checking, so confirm its current scope with the vendor.
Pick them if you run a large z/OS estate and need analysis against the real catalog, datasets and runtime definitions. They sit close to the mainframe, which is both their strength and the reason they take a project to set up.
Convert: watsonx Code Assistant for Z and AWS Transform
IBM watsonx Code Assistant for Z explains COBOL, refactors it into modular services and converts it to Java. Its page lists code explanation, refactoring of COBOL and PL/I into business services, generative-AI COBOL-to-Java transformation with generated unit tests, and dependency analysis (ibm.com, November 2026). AWS lists a comparable path: automated refactor to Java-based services using AWS Transform for mainframe, which it describes as agentic AI that analyzes legacy code and validates through testing (aws.amazon.com).
Pick them if the decision to move to Java is made and you want generated code and tests. Review the output as you would any generated code, and check equivalence on your own batch jobs.
Replatform: AWS Mainframe Modernization and Raincode
Replatforming keeps COBOL as COBOL and moves where it runs. AWS lists replatform with Micro Focus and NTT DATA toolchains, and notes that the Self-Managed Experience is no longer available to new customers (per AWS, November 2026). Raincode's site describes a COBOL compiler that generates managed .NET code with CICS and SQL support. Its page names .NET 3.5 to 4.5 and Visual Studio 2013 to 2017 plugins, so confirm current support with the vendor before buying.
Pick them if the goal is to exit the mainframe with minimal code change.
Portfolio view: CAST Highlight
CAST Highlight rates many applications at once. It builds views of application health and tech debt from source across languages, frameworks and databases, and it lists cloud readiness and open source risk (castsoftware.com, November 2026). We could not confirm COBOL-specific depth on that page.
repowise for COBOL
repowise maps COBOL source that lives in a git repository and documents it, with no mainframe connection and no network. COBOL is in the Good tier of 28 AST-parsed languages. It reads .cbl, .cob, .cobol and .cpy copybooks, DB2 DCLGEN members, JCL, BMS and CICS CSD files. Imports resolve COPY and EXEC SQL INCLUDE to the nearest copybook of that name.
The call graph covers CALL, PERFORM, and CICS LINK and XCTL to literal or constant-moved targets. JCL EXEC PGM links a step to its program, CSD definitions link transactions to programs, and CICS SEND and RECEIVE MAP link to BMS sources. Each paragraph and section counts as a function for complexity. Git history adds hotspots, ownership and bus factor, which show who still knows each program. The full list is on the COBOL page.
uv tool install repowise
repowise init --yes --no-prose
repowise serve
--no-prose renders a documentation page per program and copybook from the parsed structure with no model. An agent connected over MCP can then answer questions such as which programs copy a given copybook, with citations. For an air-gapped machine, fetch the COBOL grammar once with repowise grammars fetch and point REPOWISE_GRAMMAR_DIR at it. Enterprise adds on-prem deployment, SSO, RBAC and audit.
Pick repowise if you need a fast map of a COBOL repository, a documentation base, git-aware sequencing for a migration, or an agent that can answer questions about the code. Individual developers can run it free as an OSS CLI; teams run it self-hosted across many repositories.
It handles IBM Enterprise COBOL and Micro Focus constructs, normalises free-format source before parsing, and lists dynamic CALL targets as dynamic.
How to choose
- Just started, source in git, no mainframe access yet: repowise for the map, then decide the target.
- Large z/OS estate with live catalogs: ADDI or Enterprise Analyzer for the system of record.
- Decision made to move to Java: watsonx Code Assistant for Z or AWS Transform, with repowise's graph to sequence which programs go first.
- Decision made to keep COBOL: AWS replatform options or Raincode.
- Many applications to triage: CAST Highlight.
For sequencing, see the broader best tools to understand a legacy codebase.
FAQ
- What is the best tool for COBOL code analysis?
- It depends on the input. For live mainframe assets use IBM ADDI or OpenText Enterprise Analyzer; for COBOL source in git, repowise maps calls, copybooks, JCL and BMS offline.
- What tools convert COBOL to Java?
- IBM watsonx Code Assistant for Z and AWS Transform for mainframe both list COBOL-to-Java conversion. Both generate code that you still need to validate against your own batch and online behaviour.
- How do I document an old COBOL system?
- Get programs, copybooks, JCL, BMS and CSD into a git repository and generate a page per program from the parsed structure. repowise does this with
repowise init --yes --no-prose, andrepowise generateadds written explanations using an LLM you configure, including a local one. - Can COBOL analysis run air-gapped?
- Yes for repowise: analysis needs no network and no LLM, and the COBOL grammar can be staged offline. Check each vendor product's deployment model for the others.
- What is the difference between replatforming and refactoring a mainframe application?
- Replatforming runs the COBOL on new infrastructure with minimal change. Refactoring rewrites it, usually to Java, so the code itself changes.
- Does repowise support CICS and JCL?
- It links CICS LINK, XCTL, SEND and RECEIVE MAP, CSD definitions and JCL
EXEC PGMandEXEC PROCto their targets. Dynamic targets are recorded as dynamic, not guessed.
