IBM is giving its mainframe customers a tool infused with generative AI to translate COBOL code to Java as part of application modernization efforts.
The watsonx Code Assistant for Z is set to be available sometime in Q4 2023. Big Blue says it can speed translation of COBOL to Java on its Z mainframes.
As Reg readers will know, COBOL supports many vital processes within organizations globally – some that would surprise newbie devs. The language was designed specifically to be portable and easier for coding business applications. The good news is that it works. The bad news is it’s been working for a little long. COBOL has been around for over 60 years, and many of the developers who wrote those applications have since retired or are no longer with us.
“If you can find a COBOL programmer, they are expensive. I have seen figures showing they can command some of the highest salaries because so many mission critical apps are written in COBOL and they need maintenance,” Omdia Chief Analyst Roy Illsley told us.
Migrating the code to Java means there are many more programmers around, he added, and if the apps run on Linux on Z then they can potentially be moved off the mainframe more easily in future. (Although that is not always as easy as it might seem.)
According to IBM, there are billions of lines of COBOL code out there as potential candidates for modernization (a report last year estimated the total figure at 775-850 billion lines). For this reason, the generative AI features in watsonx Code Assistant for Z are intended to help developers to assess and determine the code most in need of modernization, allowing them to more speedily update large applications and focus on critical tasks.
IBM wants to provide tooling for each step of the modernization process, starting with its Application Discovery and Delivery Intelligence (ADDI) inventory and analysis tool. Other steps include refactoring business services in COBOL, transforming the code to Java code, and then validating the resulting outcome with the aid of automated testing.
Illsley was aware of companies that offer similar products, but which use a combination of static and dynamic analysis of the COBOL code instead of AI, and split up the code into microservices, still based on COBOL.
The resulting Java code emitted by watsonx Code Assistant for Z will be object-oriented, but will still interoperate with the rest of the COBOL application IBM claimed, as well as with key services such as CICS, IMS, DB2, and other z/OS runtimes.
“IBM is engineering watsonx Code Assistant for Z to take a targeted and optimized approach. It’s built to rapidly and accurately convert code optimized for IBM Z, accelerate time to market and broaden the skills pool,” SVP for Product Management and Growth Kareem Yusuf said in a prepared remark.
IBM is not the only IT outfit turning to AI tools to help developers code or maintain applications, however, the quality of AI-assisted output has been questioned. A Stanford University study found that programmers who accepted help from AI tools like Github Copilot produce less secure code than those who did not.
Watsonx Code Assistant for Z will be joined later by another AI-based developer tool from IBM, watsonx Code Assistant for Red Hat Ansible Lightspeed.
Both are powered by the watsonx.ai code model, which Big Blue claimed has been trained on 115 coding languages. The watsonx Code Assistant product portfolio will be extended to other programming languages in future, the company said.