In context: Despite being designed in 1959, the COBOL programming language is still widely used in applications deployed on mainframe computers. COBOL offers secure, reliable and transactional performance, and it is still managing around 70% of modern bank transactions worldwide.
IBM is launching a new AI-powered service designed to “assist” companies and programmers in transitioning ancient COBOL code into the modern, cloud-centric era. Watsonx Code Assistant has been specifically trained to provide a quick, accurate and hopefully reliable way to manage and convert COBOL programs by using natural language prompts.
Watsonx Code Assistant (WCA) leverages the capabilities of IBM’s Granite foundation models, which have been trained on open-source code repositories like GitHub for a total of more than 1.6 trillion code tokens (words and parts of words). IBM says that Granite has been further polished by filtering toxic, sensitive or copyright-protected code, with programmers fluent in COBOL and Java working side-by-side to create thousands of pairs of “functionally equivalent programs” for the IBM Z platform.
Translating code literally line-by-line, IBM explains, works “about” as well for programs as it does for natural language. But translating COBOL into Java this way is not feasible, as the final result is a “JOBOL” code that’s difficult to both read and maintain. IBM programmers worked on Granite models to ensure that the syntax of each COBOL program was expressed correctly in Java.
Richard Larin, product lead for IBM Watsonx Code Assistant, says that the Big Blue programmers know COBOL and Java languages on z/OS “better than anyone.” Granite AI models benefit from that industry-leading knowledge, so that they know how to handle IBM customers’ use cases. IBM researchers compared Watsonx Code Assistant with ChatGPT, finding that WCA was able to outperform OpenAI’s LLM in COBOL-to-Java translations.
WCA is now capable of turning “individual COBOL business services” into object-oriented Java code, but IBM is already working on the next step of the service. In a future release, WCA is expected to acquire “validation testing” capabilities with automated test case generation and new COBOL or Java service validation.
Finally, Watsonx Code Assistant can provide a big helping hand to IT administrators working on the Red Hat Ansible Lightspeed platform. Ansible is an automation service for infrastructure management, hybrid cloud deployment, network configuration, application deployment and more, IBM explains.
Thanks to Watsonx Code Assistant, admins can use natural language prompts (in English) to “automatically generate” task recommendations for Ansible Playbooks. Adherence to best practices in task creation and maintenance is seemingly guaranteed, as approximately 4,000 developers participated in the technical preview of the service.