LegacyLens AI
Built for mainframe modernization

See inside your mainframe.
Prove your way out.

LegacyLens maps every COBOL program, JCL job, copybook and DB2 table in your estate — extracts the business rules, plans the migration, and proves the modernized code does exactly what the original did.

The only modernization tool that proves the new code does what the old code did.

COBOLJCLCICSBMSCopybooksDB2VSAMGDGDFSORTIDCAMSTeradataSASAb InitioUnix shellControl-MOracle

Mainframe modernization has one real problem

It isn't writing the new code. It's trusting it.

The knowledge is locked in the code

Forty years of business logic lives in COBOL paragraphs and JCL conditionals, not in any document. When the person who wrote it retires, the logic goes with them.

Rewrites fail on equivalence

Most modernization projects don't fail on writing new code — they fail on proving the new code does the same thing as the old code, for every edge case the business actually relies on.

AI-generated code raises the stakes

An LLM can produce Python that looks plausible in minutes. Whether it's correct is a much harder question — and the one that actually matters when the code moves money or holds customer data.

Everything you need to understand the estate first

Before you rewrite a single line, know exactly what the system does today.

LegacyLens data lineage graph

Data lineage & impact analysis

Field-level lineage across COBOL, JCL, DB2 and Teradata. Select any table or column and see everything upstream and downstream before you touch it.

LegacyLens business rules extracted from COBOL

Business rule extraction

Every conditional, calculation and validation pulled out of the code as a plain-English rule, with an SME review workflow to confirm or correct it.

LegacyLens code quality findings

Code quality & findings

Dead code, missing error handling, risky patterns — flagged automatically, with AI-suggested fixes you can review before applying.

LegacyLens modernization package

Modernization packages

An LLM-ready specification per job, graph or ETL pipeline — execution flow, every program's logic, record layouts, schema — ready for any coding agent.

LegacyLens migration wave plan

Migration wave planner

A dependency-ordered rollout plan: which jobs can move first, which can go in parallel, and which are risky because they're tightly coupled or circular.

LegacyLens database catalog insights

Database insights

DB2 and Teradata catalog analysis — access patterns, retirement candidates, orphaned tables — from real DBQL usage data, not guesswork.

The differentiator

Run & Verify

Every other tool asks you to trust that the modernized code is correct. LegacyLens proves it — by actually running both versions and comparing what happens.

01
Original COBOL
compiled & executed in a sandbox
02
Modernized code
executed side by side
03
Compared
outputs, counters, real SQL effects
04
Self-corrected
wrong output fed back and fixed
05
Verdict
plain-language scorecard

Real execution, not a claim

The original COBOL is compiled with GnuCOBOL and actually run in a sandbox — or, when you connect one, submitted to a real z/OS test LPAR over z/OSMF. Every result is tagged with which one proved it.

SQL effects, not just row counts

Compares the actual INSERT/UPDATE values each program produces against a real seeded database — catches bugs a counter comparison would miss entirely.

Catches wrong answers, not just crashes

Code that runs cleanly and passes its own tests can still be wrong — a mistranslated rounding rule, a wrong threshold. When the comparison catches a mismatch, LegacyLens feeds the real divergence back and regenerates automatically, up to a configurable number of attempts, until it matches.

A verdict you can read

One scorecard: what was tested, what matched, what didn't — in plain language, not a wall of raw diff output.

VerifiedCUST0100
16 checked · 0 unresolved mismatches
STEP010 (CUST0100)
16 records — output matched byte for byte
STEP020 (CUST0700)
SQL effects matched — same INSERT/UPDATE values
STEP040 (DFSORT)
✓ verified against real mainframe — same JCL utility step, real z/OS
Business rule: WS-LOAN-DONE flag
Condition logic verified against real execution
Interest calc: ROUNDED average
Self-corrected — 1 repair attempt, now matches exactly
Representative result from a real Run & Verify pass — original COBOL compiled and executed, modernized code executed, outputs compared automatically, mismatches fed back and self-corrected. Every pass rolls up into a cryptographically signed Equivalence Certificate.

What LegacyLens actually reads

Every parser is deterministic and hand-built — no model in the loop for correctness. Here's the full estate coverage, including what we don't parse yet.

Languages & programs

COBOL
WORKING-STORAGE, dialect detection, COMP-3, REDEFINES, OCCURS DEPENDING ON, level-88, PERFORM graphs, dynamic SQL
JCL
Steps, PROC expansion, PARM, symbolic parameters, COND, SMS classes, RESTART=, TYPRUN=, JCLLIB, instream cards
CICS
EXEC CICS command classification — screen I/O, program calls, storage, queues, security, program management — online/transaction program detection
BMS maps
Field-level screen definitions (DFHMSD/DFHMDI/DFHMDF)
Copybooks
Record layouts with byte offsets, DCLGEN table linkage, COPY REPLACING

Utilities

IDCAMS
VSAM DEFINE CLUSTER/PATH/GDG, KSDS/ESDS/RRDS/LDS derivation, REPRO, DELETE
DFSORT / SYNCSORT / ICEMAN
SORT/MERGE FIELDS, INCLUDE/OMIT, INREC/OUTREC/SUM, OUTFIL, JOINKEYS
ICETOOL
TOOLIN operators — COUNT, SELECT, SPLICE, DISPLAY, OCCUR, STATS, RANGE, SUBSET, RESIZE
IEBGENER / ICEGENER / IEBCOPY
Sequential and PDS copy operations
IKJEFT01 (TSO batch)
DSNTEP2/DSNTIAD SQL pass-through, plan and subsystem resolution
DSNUTILB
LOAD, UNLOAD, REORG, RUNSTATS, image copy, BIND
IEFBR14, FTP
Allocation/deletion intent; FTP PUT/GET sessions

Data & scheduling

DB2
DDL incl. inline JCL SYSIN, tables/columns/indexes/FKs, &-symbolic names, column-level access, catalog snapshots
GDG
Generation stripping and normalization so (+1)/(0) collapse to one logical dataset
VSAM
Cluster type, KEYS, RECORDSIZE, CISIZE, FREESPACE, SHAREOPTIONS, alternate index PATHs
Control-M
Job dependencies, variables, folded into the orchestration flow diagrams
CA IDMS
Schema/subschema DDL — records, sets, owner/member relationships — plus navigational DML (OBTAIN/FIND/STORE/MODIFY/ERASE/CONNECT/BIND) resolved against the declared schema
Encoding
EBCDIC / CP037 detection with DBCS heuristics at upload

Beyond the mainframe

Teradata
BTEQ, FastLoad, MultiLoad, TPT, wrappers, stored procedures, macros, DBQL catalog analysis
SAS
Steps, macros, dataset and column lineage, joins, filters, business rules
Ab Initio
Graphs, hierarchy, components, .dml/.xfr/.pset, runtime lineage
Unix shell
bash/ksh/sh via a real shell grammar, not regex
Oracle
Catalog analysis alongside DB2 and Teradata

Detected and reported — not silently skipped

LegacyLens has no parser for these yet. Rather than ignore the files, it fingerprints them and records each one in the Coverage Ledger, so your estate inventory says “we scanned everything — here's exactly what isn't modelled” instead of quietly under-reporting.

IMS DB / DC (CBLTDLI, AIBTDLI, DLITCBL, MFS screens)IBM MQ (MQPUT/MQGET/MQOPEN/…)PL/IHLASM / AssemblerNatural / AdabasCA Datacom/DBCA EasytrieveCA Gen / COOL:GenCSP (Cross System Product)REXXTSO CLISTISPF panelsEndevor / ChangeMan / Librarian / Panvalet metadataRACF / ACF2 / CA Top SecretOPC (IBM Workload Scheduler for z/OS) / CA-7

Why teams choose LegacyLens

Built for the constraints real mainframe shops actually operate under.

Runs entirely on-prem or air-gapped

Ship as an offline installer — five Docker images, one script. Your code never leaves your network. The license itself is verified offline against an embedded key; there's no phone-home, ever.

Deterministic parsing, AI optional

Every parser (COBOL, JCL, DB2, Teradata, SAS, Ab Initio) is hand-built and deterministic — no model in the loop for correctness. AI is a garnish for summaries and Q&A, never the source of truth.

Bring your own AI, or none at all

Use your own Anthropic/Gemini/DeepSeek key, run Claude via AWS Bedrock inside your own cloud perimeter, or turn AI off completely. Your choice, per deployment.

Verification-first, not claim-first

Run & Verify actually executes the original and modernized code — against a local sandbox, or the real mainframe over z/OSMF — and diffs the results. Every run is tagged by how it was proven: emulated or verified on real z/OS, never blurred together.

A certificate you can hand to an auditor

Every project can generate a cryptographically signed Equivalence Certificate — per-program pass/fail, disclosed gaps, and job-level utility-step verification tiers — so "it matches" is backed by a record, not a slide.

Built for enterprise hygiene

Audit log of who did what and when, structured logging, role-based access, encrypted per-user secrets, and nightly backups with tested restore scripts — out of the box.

Built by someone who's lived it

Built out of real mainframe and Teradata experience — the platforms it analyzes best are the ones its builder has spent years working in.

How it works

1

Install

Run one script from the offline bundle. Docker Compose brings up the app, database and sandbox images on your own infrastructure.

2

Point it at your code

Upload source files, connect object storage, or browse a mainframe PDS or SSH server directly and import selected members — no download/re-upload round-trip. LegacyLens classifies and parses everything automatically — COBOL, JCL, copybooks, DB2 DDL, Teradata scripts, SAS, Ab Initio graphs.

3

Analyze, verify, modernize

Explore lineage, extract business rules, generate modernization packages, and run Run & Verify to prove the new code matches the old before you ship it.

Get LegacyLens

Download the installer and try it free for 7 days — no key, no request, no credit card. Your source code, S3 bucket, and AI key are your own — nothing of ours ships inside the bundle except the license check itself.

1

Download the installer

A self-contained offline bundle (~710MB) — the app, the database, and the verification sandbox. Runs a free 7-day trial out of the box, no key needed to start. Works fully air-gapped after that first run.

Request your activation key

Your 7-day trial starts the moment you run it — no key needed. When you're ready to keep going, tell us a bit about your environment and we'll email a signed activation key, usually within 1 business day.

What are you looking to modernize?

Prefer to explore first? Try the live demo — no request needed.