Main / Blog / Deterministic Legacy Modernization Explained

Deterministic Legacy Modernization Explained

Introduction

Most modernization programs get scoped as translation jobs. Take the COBOL, produce the Java, ship it. The code makes the trip. The behavior doesn’t always come with it.

Deterministic legacy modernization changes the order of operations. Before anyone writes a line of new code, you recover the business intent buried in the old system, capture it as a written specification, and have the people who own it confirm it. Generation happens last. Because the specification governs the build, the same input produces the same output every time, and every result traces back to a rule that someone signed off on.

The distance between those two approaches shows up clearly in the research. One of the largest studies of LLM code translation to date ran 1,700 code samples across C, C++, Go, Java, and Python. Correct translations ranged from 2.1% to 47.3% depending on the model, so even the best performer got it wrong more often than right, and the authors ended up cataloguing 15 distinct categories of translation bug.

Getting code to compile in a new language is the tractable part of the problem. Getting it to behave the way the old system behaved is where programs fail.

This article covers what deterministic legacy modernization actually is, why single-pass AI rebuilds quietly drop business logic, and how GenOLSYS™ Eltegra closes the gap between a system that runs and a system that behaves. 

 

What is Deterministic Legacy Modernization?

Deterministic means the same input produces the same output, every time. Applied to a rebuild, it means the work is governed by an artifact you can open and read rather than by a model’s improvisation. Recover the intent, confirm it, then generate against it.

That word choice is doing real work. A rule tells you what the system does. Intent tells you why it does it, and the why is the part that never made it into the documentation. It’s also the part a rebuild has to reproduce, because a rule you’ve captured without its reasoning is a rule nobody can safely change later.

Compare that to the standard approach. A converter walks through the COBOL and emits Java line by line. It compiles, and everyone relaxes. What nobody notices is that the tight coupling, the hidden dependencies, and the monolithic design all survived the trip intact. You have swapped one black box for another, and now you own the original problems plus an unfamiliar stack.

What “losing the business logic” looks like in practice: researchers at the University of Houston documented a telecom provisioning case where the translated code compiled without a single error and silently dropped an exemption that let suspended accounts through on disconnect orders. That rule had been running in production for 15 years.

Nobody had written it down. It lived inside an exception handler, three levels deep, and it disappeared without a warning message. The new system looked modern and behaved differently.

Sidenote. That intent is the asset. It was shaped over years of production incidents, audit findings, and regulatory patches, one decision at a time. Rewriting the code is the cheap part of a modernization. Recovering the intent behind the code is the actual work.

 

Why Do AI Coding Agents Lose Business Logic?

Because the agent has no confirmed source of truth to work from. It reads the code, infers what the code was meant to do, and generates in one pass. When the intent sits inside a nested conditional, or in a default value that quietly initializes a field before anything else touches it, inference tends to walk straight past it.

A May 2026 benchmark from Sheikh Nazib Ahmed and Marnim Galib went beyond correctness and tested behavior directly. Across eight scenarios spanning telecom and banking, single-prompt and chain-of-thought rebuilds preserved zero business rules under independent gold-standard testing. The generated code compiled. It ran. It failed every behavioral check.

The authors then reran the full benchmark on a frontier code model, half expecting the stronger model to make their own architecture unnecessary. The single-pass baselines stayed at zero.

That result deserves a moment if your current plan is to wait. The common assumption is that the next model generation will make legacy rebuilds straightforward, and this benchmark points the other way: a substantially stronger model didn’t move the number at all. The constraint isn’t model capability. It’s the absence of a confirmed specification. A specification, meanwhile, doesn’t expire when a model does. It works with whatever generator you’re using this year and whatever you switch to next year.

Our internal numbers at Olsys point the same direction. AI coding tools recover somewhere between 60% and 75% of business logic accurately. The problem is the remaining quarter, which gives no signal that it is missing. It shows up as production defects after go-live, which is the most expensive possible place to find it.

Gartner has flagged the broader pattern, predicting that over 40% of agentic AI projects will be cancelled by the end of 2027 on the back of escalating costs, unclear business value, and inadequate risk controls. Gartner also calls out legacy integration specifically as technically complex and frequently expensive to retrofit.

None of this means agents don’t work. It means they work considerably better with a specification in front of them than without one.

 

How Deterministic Legacy Modernization Works

The sequence matters more than the tooling. Recover, confirm, then build. Here is how AI-Powered Legacy Modernization runs at Olsys.

Dynamic Knowledge Graph of GenOLSYS Eltegra Platform from Olsys for Modernization of Legacy Systems

1. Discovery and ingestion

Source code, documentation, Jira tickets, and existing test cases all load into GenOLSYS™ Eltegra. The platform builds a Dynamic Knowledge Graph that maps every rule, dependency, and integration it finds. In a traditional rewrite this discovery phase takes 4-6 months. Here it runs 3-6 weeks for a mid-to-large market application.

2. Knowledge recovery

Code on its own never tells the whole story. It records what the system does and stays silent on what it was meant to do. Olsys engineers sit down with the people who still remember why the exceptions exist: the reasoning behind the edge cases, the workarounds that only a long-tenured analyst can explain. That intent goes into the graph alongside the code, attached to the rules it explains.

This is also the step where your subject matter experts get their time back. A traditional rewrite pulls your three most knowledgeable people into requirements meetings for the length of the project, which is exactly when the business can least afford to lose them. Here the demand is front-loaded into a defined interview window. Once the graph holds what they know, they return to their actual jobs.

3. Industry domain model

GenOLSYS™ Eltegra arrives pre-loaded with domain models for banking, insurance, and healthcare, each carrying its own vocabulary and standard business rules. Your system is read against a model that already understands what a claim, a ledger entry, or a care episode is supposed to do, so anomalies stand out instead of blending in.

4. Engineered transformation

Senior Olsys engineers generate the modernized code from the graph and the locked specification, built to your target-state architecture. You can also bring your own generator: Claude, Cursor, Amazon Q Developer, and GitHub Copilot all work here. Whichever tool writes the code, it writes against a confirmed spec and never has to guess at intent.

5. Validation and production handoff

Go-live happens once the modernized system has been validated against the locked specification and confirmed by your team. It doesn’t have to happen all at once. Because the graph maps what depends on what across the whole system, the rebuild can move to production in slices, each one validated against its own section of the spec before it carries live traffic. Big-bang cutover becomes a choice rather than a constraint.

At handoff, the documentation, the test suite, and the Dynamic Knowledge Graph all transfer to you.

How Delivery Runs of Legacy Modernization from Olsys & GenOLSYS Eltegra Platform

Recommendation. Ask to see the specification before anyone writes code. If a vendor can’t show you the extracted rules as an artifact you can open and read, they are asking you to trust a model’s memory with your core system.

 

What Makes GenOLSYS™ Eltegra Different

Seven things, and they compound.

How the intent gets recovered

The extraction engine reads everything.
The patent-pending engine works through the entire codebase from start to finish. No sampling, no representative subset, no modules skipped because they looked inert. Business rules and dependencies are captured as it goes, and each one is checked back against the source it came from.

Extraction is multimodal.
Code, documentation, Jira history, meeting transcripts, and expert interviews all feed the same graph. The result reflects how the system actually behaves rather than how a source file claims it behaves.

Validation runs in multiple passes.
The platform makes repeated extraction and validation passes over the same codebase. That is how it reaches 99%+ business logic accuracy, measured against independently constructed gold-standard test suites, before a single line of new code exists.

The output is intent-driven.
GenOLSYS™ Eltegra builds a validated
frozen business intent model before it generates anything. Not a list of rules, but the confirmed reasoning underneath them. Decisions stay consistent across the whole rebuild, and every result traces back to a rule your team approved.

What comes out the other side

Every rule ships with a test that proves it.
The test suite is generated from the specification rather than written afterwards from somebody’s reading of the requirements. Each rule in the graph carries its own behavioral test. When a test fails, you know which rule broke and where that rule came from, so validation stops being a matter of trusting a vendor’s accuracy figure and starts being something you can run yourself.

Every rule carries a paper trail.
Each entry in the graph records its origin: the source file and line, the ticket that introduced it, or the interview where someone finally explained it. When an auditor asks why the new system behaves a particular way, the answer isn’t an engineer’s recollection. It’s a link back to the artifact the behavior came from.

The graph outlives the project.
The Dynamic Knowledge Graph doesn’t retire when the engagement closes. It becomes the documentation your legacy system never had: searchable, current, and tied to running code. New engineers onboard against it. Auditors query it. And when the next platform decision arrives in five years, the discovery work is already done. 

 

Deterministic Modernization vs. Traditional vs. LLMs Only

Traditional rewrite AI agent only OLSYS
Discovery phase 4–6 months 1–4 weeks 3–6 weeks
Functional parity Proven late in delivery Proven after rebuild Defined before rebuild
Risk of knowledge loss Medium High Low
Business logic accuracy SME-dependent, unmeasured 60–75% 99%+, independently tested
Output determinism Varies by team Non-deterministic Graph-locked, verifiable
Regression tests Written after the build Model-generated, unverified Generated per rule from the spec
Audit traceability Documentation-dependent None Rule-level provenance
SME time required Ongoing, full project Minimal, logic goes unverified Bounded interview window
Cutover Typically big-bang Typically big-bang Phased, dependency-mapped
Per-token AI cost Not applicable, manual effort Per token, per query Built once, reused at no cost
Time to production 12–24 months 4–6 months 2–4 months

Figures represent average engagement levels for mid-to-large market applications.

Three things follow from that table.

  1. You reach production faster. Discovery finishes in weeks rather than months, and full delivery averages two to four months.
  2. You own the result outright. A modernized system on the stack you chose, plus the locked specification, the test suite, and the knowledge graph. No ongoing vendor dependency of any kind.
  3. Compliance is built in rather than bolted on. DORA, SOC 2, and NIS2 are handled inside the architecture from day one, alongside PCI DSS, HIPAA, GDPR, FFIEC, and ISO. Deployment can stay on-premises or in an isolated cloud, and our Banking & Finance and Healthcare teams work inside those constraints every day.

Sidenote on the numbers. A modelled COBOL-to-Java scenario of roughly 2.5M lines puts the hybrid approach at 3.5 months against 7 for an agent-only rebuild, saving around 5,600 engineering hours. Most of that saving comes from eliminating rework caused by hidden dependencies. These are modelled estimates for a mid-size enterprise, not a client result.

 

Which Legacy Stacks Does OLSYS Modernize?

On the way in: COBOL, PowerBuilder, PL/SQL, Magic XPA, SAP, APEX, ASP.NET, C#, Java, and JSP. On the way out: Java Spring Boot, .NET Core, Node.js, Python, TypeScript, React, Angular, microservices, and cloud-native architectures. The full picture sits on our Intelligent Legacy Modernization page.

Stack not listed? Most legacy systems share the same recovery problem regardless of language. Send us the codebase and we’ll tell you within five business days.

Tech Stacks Olsys Modernizes

 

Frequently Asked Questions

What is deterministic legacy modernization? 

  • It’s an approach that recovers the business logic of a legacy system, and the intent behind it, into a validated specification, then generates the modernized system from that specification. Because the spec governs the rebuild, the same input produces the same output and every result traces back to a confirmed business rule.

How is this different from using an AI coding agent? 

  • An agent reads legacy code and generates new code in a single pass, leaving no inspectable record of what it understood along the way. Deterministic modernization puts a knowledge graph between the two. The intent gets extracted and confirmed by your team first, so the generator builds against a locked spec instead of an inference.

How do we know the rebuilt system behaves like the old one?

  • Every rule in the specification carries its own behavioral test, generated from the spec rather than written afterwards from a QA analyst’s reading of the requirements. The modernized system is validated rule by rule against tests your team has already approved. When something fails, the failure names a specific rule and points at its source.

Should we wait for better AI models to make this easier? 

  • The evidence argues against waiting. When researchers reran their behavioral benchmark on a frontier code model, single-pass rebuilds still preserved zero business rules. The constraint isn’t model capability, it’s the missing specification. And because a specification is model-independent, the work you do now keeps its value when the next model generation arrives.

Can we keep using our own AI coding tool?

  • Yes. GenOLSYS™ Eltegra supports Claude, Cursor, Amazon Q Developer, and GitHub Copilot as code generators. The platform supplies the specification and your tool writes against it, which is exactly what makes the output verifiable.

How much of our own team’s time does this take?

  • Most of the demand lands in a defined interview window during knowledge recovery rather than spreading across the whole project. A traditional rewrite keeps your most experienced people in requirements meetings for a year or more. Here, once the graph holds what they know, they go back to their day jobs.

Do we have to cut over all at once?   

  • No. Because the graph maps dependencies across the whole system, the rebuild can go live in slices, with each slice validated against its own section of the specification before it takes live traffic.

How long does a legacy modernization project take?

  • Discovery runs three to six weeks. Full delivery to production averages two to four months for mid-to-large market applications. A traditional rewrite typically spends four to six months on discovery alone and reaches production somewhere between 12 and 24 months.

Who owns the modernized system?

  • You do. The system, the locked specification, the test suite, and the Dynamic Knowledge Graph all transfer to your team at handoff. It runs on the stack you chose, with no ongoing dependency on Olsys. The graph stays useful long after the project closes, as documentation, as onboarding material, and as the starting point for whatever comes next.

Does this work for regulated industries?

  • Yes. GenOLSYS™ Eltegra ships with pre-loaded domain models for banking, insurance, and healthcare. PCI DSS, SOC 2, HIPAA, GDPR, FFIEC, DORA, and NIS2 requirements are engineered into the architecture from the start, deployment can stay on-premises or in an isolated cloud, and rule-level provenance gives auditors a traceable path from any behavior back to its origin.  

 

Final Thoughts

Legacy modernization keeps getting treated as a translation problem. The research keeps demonstrating that it’s a behavior problem.

Recover the intent, confirm it with the people who own it, then build. Getting that order right is the difference between a system that compiles and a system your business recognizes.

Book a 20-minute call with an Olsys expert. We’ll walk through the hybrid approach on a system close to yours and show you what the knowledge graph produces before any code gets written.

 

Stay tuned with our latest IT insights

    Related Content