Generative AI comes to mainframe application modernization with a model trained on more than 115 code languages and 1.5 trillion tokens of data.
IBM announced today watsonx Code Assistant for Z, a generative AI-assisted solution for COBOL-to-Java mainframe application modernization. It opens up new use cases for watsonx Code Assistant, in particular transferring and validating COBOL applications on IBM Z.
Watsonx Code Assistant for Z is expected to be available globally as a service in the fourth quarter of 2023. IBM will demonstrate watsonx Code Assistant for Z in September at IBM TechXchange in Las Vegas.
Make code migration from COBOL to Java easier
Mainframe computing such as IBM Z has been a backbone of IBM’s business for decades. The IBM Institute for Business Value found that organizations are 12 times more likely to use existing mainframe assets rather than upgrade their application estates to completely new environments in the next two years.
Watsonx Code Assistant for Z is intended to make it easier to upgrade while using existing mainframe assets, with generative AI standing in for potential skill gaps or strained resources. In many instances of application modernization, organizations move all application code to Java or a public cloud; IBM wants to make sure customers don’t lose sight of the original reason they chose IBM Z instead of a public cloud.
Watsonx Code Assistant for Z is meant for use in application modernization, app development, large libraries and data retrieval; in particular, it is designed to make translations from COBOL to Java faster. Other tools that automatically switch COBOL applications to Java exist, but they can produce garbled code that is hard to maintain for developers used to working in Java.
The COBOL data processing language is relatively easy to use, but also increasingly rarely used, and it is a procedural language instead of an object-oriented one. The object-oriented Java has broader functionality, and its complexity can be beneficial. Watsonx Code Assistant for Z can refactor, transform and validate COBOL code during application modernization on IBM Z (Figure A).
Today, applications are often “tangled-up monoliths” that make code migration time-consuming, complicated and risky, said Skyla Loomis, vice president of IBM Z Software, in a pre-briefing for press on August 17.
Enhance the transition to generative AI
Specifically, Code Assistant for Z uses the IBM watsonx.ai foundation model to rewrite, assess, update, validate and test code. The generative code model currently contains 20 billion parameters and was trained on 115 code languages and 1.5 trillion tokens of data. IBM claims its Java translation outperformed ChatGPT 88% to 32%.
Some functionality will come from IBM’s Application Discovery and Delivery Intelligence inventory and analysis tool. After using the Application Discovery and Delivery Intelligence tool, customers can use watsonx Code Assistant for Z to:
- Refactor business services written in COBOL.
- Transform COBOL code to Java code with an eye toward optimized design.
- Validate the resulting Java code using automated testing.
One use case might be delivering Ansible Lightspeed — a generative AI service designed to make it easier to deliver Red Hat’s automation tool Ansible — with watsonx Code Assistant, which creates Ansible-tuned models.
How watsonx Code Assistant for Z integrates with VSCode
During the press demonstration, IBM Fellow and CTO for Z Software Kyle Charlet demonstrated extracting COBOL code from an insurance application for refactoring. Watsonx Code Assistant for Z could trace code through associated data structures, extracting the exact code paths needed for that particular application as opposed to the others used in associated tasks.
SEE: IBM is betting on Meta’s Llama 2 in the race to secure territory in the future of generative AI (TechRepublic)
From there, one could export the code paths to Visual Studio Code, within which watsonx Code Assistant for Z could provide feedback and tips.
Watsonx Code Assistant for Z also evaluates that the COBOL code and the Java translation are semantically equivalent and have the same result.
AI model will be trained on open source or attributed code
The AI model used in watsonx Code Assistant for Z was originally tested on CodeNet and is now being tuned on enterprise Z COBOL and COBOL-Java pairs, pointed out Charlet. He noted that the AI model works under an open source license and wouldn’t be directly copying anyone’s original code without their permission.
“Attribution of code will be a key priority. Contributors will know if their code is used to train that model, and they can opt out of that experience,” Charlet said.
Watsonx Code Assistant for Z’s place within the larger IBM AI ecosystem
Watsonx Code Assistant for Z is one of the many branches of IBM’s efforts to add generative AI to its products. It sits within the same AI and data platform category as several other parts of watsonx, including:
- watsonx.ai, which trains, validates and deploys machine learning AI and foundation models for generative AI.
- watsonx.data, which allows enterprises to scale AI workloads using their data with a fit-for-purpose data lakehouse for AI workloads.
- watsonx.governance, which provides data and AI governance for responsible, transparent and explainable workflows.
“Our focus is on a full stack of solutions starting all the way down at the infrastructure which of course includes IBM Z and IBM cloud and goes up to our Center of Excellence for consulting and Client Engineering,” said Keri Olsen, vice president, IBM IT Automation.
“By bringing generative AI capabilities through watsonx to new use cases, we plan to drive real progress for our clients,” said Kareem Yusuf, senior vice president, product management and growth, IBM Software.