• "com.cts.aem.core.models.NavigationItem@444520c5" Careers
  • "com.cts.aem.core.models.NavigationItem@455def5c" News
  • "com.cts.aem.core.models.NavigationItem@722affdd" Events
  • "com.cts.aem.core.models.NavigationItem@d1c23be" Investors
Case study
Information Services case study

Gen AI cuts Java migration effort by 25% for tax software giant

When a leading tax software provider needed the performance gains of JDK 21, we used generative AI tools to accomplish the migration quickly and efficiently.

At a glance

Industry
Information services

Location
North America

Challenge

Deploy gen AI tools to deliver a major Java migration that transforms a client’s market-leading software

Success Highlights

  • 35% reduction on upgrade costs
  • 25% reduction in development effort
  • Pioneering partner for gen AI-led software product upgrade initiatives

The challenge

A leading tax software provider’s product roster includes a robust solution that multinational companies flock to. But the software was built on a mix of legacy Java JDK versions that made it difficult to migrate to JDK 21, Oracle’s latest release. JDK 21 offered major performance gains for the indirect tax software, which calculates levies like sales tax, excise tax and value-added tax (VAT). More importantly, it packed big benefits such as greater stability and long-term support (LTS) for the enterprises that rely on it.

Cognizant has been a trusted application development and maintenance partner to the client since 2006. Our long-standing relationship, combined with deep expertise in generative AI, gave the client confidence that we were the right choice for their software upgrade.

Our approach

For a large migration like this one, the volume of code to be changed, replaced and written can feel overwhelming. Rather than a manual, line-by-line upgrade of the code and the underlying frameworks, we proposed using gen AI tools to dramatically reduce the development effort.

The project kicked off in July 2024, and our team leveraged two tools, Moderne OpenRewrite and GitHub Copilot. OpenRewrite is an automated code refactoring tool that works at the repository (or “repo”) level and applies bulk updates automatically using smart rules. We selected OpenRewrite for its Lossless Semantic Tree (LST)-structured data functionality. The LST captures full type attribution, dependencies and format of the code, enabling 100% accurate refactoring while preserving the original coding style.

After OpenRewrite did the heavy lifting by updating hundreds of thousands of lines of code, we used GitHub Copilot at the package level to resolve specific issues—and reduce full-stack engineers’ time by 25%. Copilot assists during the editing, reading and refactoring of code. It sped our client’s upgrade by suggesting modern Java syntax and new language features and rewriting older code patterns into updated ones.

A man and woman looking at display

As with any major Java upgrade, lots of “deprecated” code popped up. It’s old code that’s no longer recommended for use, and it’s typically replaced with new code wherever functionality is affected. Replacing deprecated code is a core part of a Java upgrade, and both OpenRewrite and GitHub Copilot helped make the cleanup easier.

Business outcomes

By January 2025—just six months after kickoff—our team of 25 full-stack engineers rolled out the upgrade’s first release. We estimate the new tools reduced development effort by 25% and delivered cost savings of 35%. By July, 70% of the upgrade was complete, with the remaining releases on track for completion by fall. This engagement helped establish a standardized approach for future software upgrades, enabling development to be completed 10%–30% faster.

people sitting in office

Best of all, our client is pleased with the outcomes to date and the technology leadership we brought to the project as well as our commitment to enhancing their product and product base

Related case studies