Lines of COBOL in production

220B

Talent supply shrinkage

5%/yr

Daily commerce touches COBOL

$3T+

Of enterprise transactions

75%

EVALUATING ANY VENDOR

The state of COBOL today. Move this section to end

Most COBOL was written between 1975 and 2005. Most of the people who wrote it are now in their 60s and 70s. The talent pool is shrinking faster than the codebase is.

License renewal cycles compound the problem. IBM Enterprise COBOL on z/OS, Micro Focus Visual COBOL, Fujitsu NetCOBOL: every renewal costs more than the last, and the value gets harder to justify against modern alternatives.

Most enterprise shops we work with are 3 to 7 years into thinking about COBOL modernization, and 0 to 2 years into actually planning it. The gap between thinking and planning is where the talent cliff catches up to you.

APPROACH

How automated conversion of COBOL works

Modernizing COBOL with DMS® begins by treating the legacy application as a complete software system rather than a collection of text files. Instead of using Gen AI to rewrite code, DMS performs a deterministic analysis by parsing the COBOL source, copybooks, JCL, embedded SQL, and other application artifacts into a rich internal representation. This allows DMS to understand the program's structure, control flow, data flow, and business logic before any transformation occurs.

Once the application has been analyzed, DMS applies thousands of deterministic transformation rules to convert the source code into the target language, such as Java or C#. Because every conversion is driven by compiler technology and predefined transformation rules, the same input always produces the same output. Business rules are preserved throughout the process, and any construct that cannot be translated with complete confidence is flagged for engineering review rather than silently converted. This predictable, repeatable approach minimizes modernization risk while maintaining functional equivalence.

The result is a highly automated modernization process that typically converts 99+% of an application's code while preserving decades of embedded business knowledge. Less manual coding means less errors to debug.

Deterministic automation makes the modernization process repeatable, testable, and fully traceable. The same input produces the same output every time, with every rule auditable and every translation reproducible. This allows organizations to validate each transformation and maintain a clear link between the original COBOL code and the modernized application.

Generative AI can accelerate supporting tasks such as documentation, code analysis, and test generation. However, DMS remains the authoritative translation engine, ensuring that modernization is driven by deterministic compiler technology rather than probabilistic code generation.

dms

Process for COBOL Modernization

Modernization Software has a proven repeatable process with five phases and concrete deliverables.

Initial engagement and qualification

1 to 3 Weeks (Typically Free)

What You Provide

Application portfolio overview, core business objectives, and technical constraints.

What We Deliver

High-level feasibility analysis and initial modernization roadmap.

What You Walk Away With

Clear understanding of modernization potential and risk profile and ball park estimate.

Technical & financial assessment

Timeline: 4 to 6 weeks

What You Provide

Source code access, database schemas, and cost-of-operation data.

What We Deliver

Detailed codebase analysis, TCO projections, and ROI modeling.

What You Walk Away With

A definitive, risk-mitigated technical roadmap and architecture guide.

Migration
blueprinting

Timeline: 2 to 8 weeks

What You Provide

Target architecture preferences and security/compliance requirements.

What We Deliver

Comprehensive migration plan, target state design, and tooling configuration.

What You Walk Away With

A definitive, risk-mitigated technical roadmap and architecture guide. And fixed price for the automated transformation

Automated
transformation

Timeline: 6 to 12 Months

What You Provide

Functional testing suites and subject matter expertise for edge cases.

What We Deliver

Modernized application code (Java/C#), migrated data, and validated systems.

What You Walk Away With

Functionally equivalent system running on modern, scalable infrastructure.

Post-migration
support

Timeline: Ongoing

What You Provide

Operations feedback and requirements for iterative improvements.

What We Deliver

24/7 technical support, performance tuning, and new feature enablement.

What You Walk Away With

Continuous evolution and long-term viability of your core software assets.

Target Languages

Pick your target language.

Most COBOL migrations go to Java, C#, or C++. Pick the one that matches your team's existing stack and target architecture.

COBOL to Java migration

For teams running JVM on AWS, GCP, or hybrid. Output is idiomatic Java on Spring Boot, JDBC, or JPA.

COBOL to Java migration

COBOL to C# migration

For .NET shops on Azure or on-prem Windows Server. Output is idiomatic C# on ASP.NET Core, ADO.NET, or EF Core.

COBOL to C# migration

COBOL to C++ migration

For embedded systems, low-level integration, or projects that need a compiled-binary deployment model.

COBOL to C++ migration
The Stack Underneath

What surrounds your COBOL
gets modernized with it.

COBOL rarely sits alone. The application around it has to move at the same time:

Databases

DB2, VSAM, IMS DB. We migrate to SQL Server, Azure SQL, PostgreSQL, Oracle, or Db2 LUW depending on your target stack.

Database migration services

CICS and BMS screens

CICS transactions become Spring Boot or ASP.NET Core services. BMS screens translate to Blazor, Razor, or Angular scaffolding.

CICS BMS modernization

JCL and
batch flows

JCL batch jobs translate to Spring Batch, Airflow, Hangfire, or Azure Data Factory depending on target.

Batch modernization
The Stack Underneath

Every major COBOL dialect, one toolkit.

DMS reads 14 COBOL dialects through formal front-ends, each with the grammar and semantics of that dialect encoded in the rule library. The same deterministic core translates every one of them to Java, C#, or C++, so your dialect mix never dictates your target language.

DMS Translation Engine

Deterministic Grammar Mapping

Java

Enterprise Backend

C#

Cloud Native

C++

High Performance

IBM Enterprise COBOL Micro Focus COBOL Fujitsu NetCOBOL MF COBOL ICOBOL ACUCOBOL RM/COBOL IBM CICS COBOL IBM IMS COBOL Tandem COBOL Unisys COBOL Wang COBOL

If your dialect isn't listed, send us a sample. We've added new front-ends for clients running DowTran (a custom 4GL Dow built in-house) and SabreTalk (Delta Airlines). New language support is weeks of work, not a multi-year tooling project.

WHY DETERMINISTIC

Why deterministic translation fits COBOL specifically.

COBOL has a formal grammar. Every IBM Enterprise COBOL construct, every Micro Focus dialect, every Fujitsu NetCOBOL extension has defined semantics. DMS reads those semantics through a parser, applies transformation rules, emits code. The rule library is auditable. The output is reproducible. Every call site, every PERFORM, every COMP-3 calculation gets translated the same way every time.

AI-led translation works the way AI works: through pattern matching across training data. For COBOL in banking systems where a single rounding difference is a financial defect, pattern matching isn't enough. The output has to be defensible to auditors and regulators, not just plausibly correct.

Strategic Options

Four paths, and which one fits. Move this section to end Move this section to before above

Every COBOL shop ends up choosing one of these four:

Replatform on emulator

Run COBOL on x86 or cloud through Micro Focus, OpenLegacy, or AWS Mainframe Modernization.

Outcome

Cheapest option. You still write COBOL afterward. The talent problem follows you.

Refactor in place

Restructure your COBOL to be more maintainable, but stay in COBOL.

Outcome

Worth it if you have a strong COBOL team and your sunset date is 10+ years out.

Rewrite from scratch

Java or C# developers write new code from your business requirements.

Outcome

Highest cost. Highest risk of losing 30-year-old business rules nobody documented.

Translate automatically (what we do)

(Our Approach)

DMS compiler-driven translation to Java, C#, or C++. Bit-for-bit equivalent output.

Outcome

6 to 18 months end-to-end. Every business rule preserved. Auditable.

10 questions to ask
any COBOL
modernization vendor

Whether or not you work with us, these questions separate serious modernization vendors from polished sales decks. Hand them to your shortlist and compare answers, whatever target language you are heading to.

If a vendor stumbles on more than two of these, walk away. Detailed answer guide available on request.

  1. Is your translation deterministic? Same input, byte-identical output every run?
  2. How do you handle COMP-3 packed decimals in financial code?
  3. How do you restructure GO TO statements?
  4. How do you handle REDEFINES that share memory across different types?
  5. Have you shipped our specific COBOL dialect, with a named case study?
  6. What’s your first-pass automation rate on a system our size?
  7. How do you validate functional equivalence?
  8. What happens if you can’t convert part of the code?
  9. Time and materials, or fixed price after the assessment?
  10. Who writes the rewrite rules: your tool or your engineers, every time?
FAQ

The questions our engineers get
asked the most

General questions

COBOL modernization is the process of moving legacy COBOL applications to modern languages and platforms while preserving business logic. The options range from replatforming (running COBOL on cloud or x86) to refactoring in place to automated translation to Java, C#, or C++. Modernize Software focuses on automated compiler-driven translation that produces bit-for-bit equivalent output to the original.

Pick Java if your team works on the JVM or your target cloud is AWS or GCP. Pick C# if you're a .NET shop or your target is Azure. The translation toolkit handles both targets equally well. For embedded systems or projects requiring compiled binaries, COBOL to C++ migration is also available.

A typical COBOL modernization runs 6 to 18 months end-to-end, depending on codebase size and dialect complexity. A 500,000-line codebase finishes in 9 to 14 months. Multi-million-line systems take 18 to 30 months. Phase breakdown: 2 to 6 weeks assessment, 4 to 12 weeks pilot, 3 to 12 months full translation, 1 to 6 months parallel run.

Every COBOL modernization project is priced as a fixed-fee engagement. The total cost is determined during the project assessment and is mutually agreed upon before any work begins. Pricing is not based on a cost per line of code; several factors influence the project cost, including the size and complexity of the application, the COBOL dialects involved, the surrounding technology stack (such as CICS, JCL, databases, and external interfaces), and your target architecture and modernization objectives. Following the assessment, you receive a fixed-price proposal that is locked in for 90 days. Because the scope and pricing are established upfront, there are no unexpected charges or expanding line items once the modernization project begins.

Modernize Software supports 15 COBOL dialects, including IBM Enterprise COBOL for z/OS (all releases), Micro Focus Visual COBOL, Fujitsu NetCOBOL, MF COBOL, ICOBOL, ACUCOBOL, RM/COBOL, IBM CICS COBOL, IBM IMS COBOL, Tandem COBOL, Unisys COBOL, Wang COBOL, and others. Custom dialects can be added under contract through the DMS toolkit.

Yes. COBOL modernization usually includes the surrounding stack: DB2, VSAM, or IMS databases migrated to SQL Server, Azure SQL, PostgreSQL, or Oracle; CICS transactions translated to Spring Boot or ASP.NET Core; BMS screens translated to Blazor, Razor, or Angular; JCL batch flows moved to Spring Batch, Airflow, Hangfire, or Azure Data Factory.

Three mechanisms: bit-for-bit equivalence testing at every phase, a 95% functional equivalence threshold during the pilot with fee refunded if missed, and parallel run support where the new stack runs alongside original COBOL until the diff reaches zero. Source code archived day one for rollback. Most clients pick a 3-to-6-month parallel run before cutover.

TSRI is closest technologically: same compiler-driven approach, same deterministic output. We compete on price, dialect coverage, and willingness to add new front-ends. Astadia runs an Azure-focused factory model and is strong on Azure landing zones. AWS Transform is agentic AI, probabilistic by design, which is the wrong fit for audited financial or regulatory workloads. Full comparison in the blog linked below.

Start with the assessment

Send your metadata. Complexity report and fixed quote in 10 business days.