Legacy does not just mean Cobol. Even applications built with newer programming languages like Java – including older versions such as Java6 – are now legacy. Dealing with legacy is a challenge that has been slowing modernisation for years. The attitude towards legacy has always been, 'we have no clue how, but it works, so we better not touch it'.
TuringBot use cases can also deal with legacy
That is all about to change because GenAI offers great opportunities to help the modernisation of any type of legacy, as long as LLMs have been trained or refined on the specific legacy code.
The good news is any coding Turing Bot that has learned how to write and understand code in various programming languages can be refined and customised to understand code of a new language.
Coder Turing Bots – or AI-enabled assistants that generate code from English language input – all work with the top 10 (and more) trending programming languages, including Java, C, C++, Python etc. They can help do many things that we could not do in the past with legacy, at least not without exceptional effort and time.
Here are some of the most relevant use cases:
- Automated documentation generation for a legacy programme file. Documenting legacy is the first step to unlocking opportunities in modernising old legacy systems. While this does not, and cannot, all happen at the push of a button, there are real experiments going on at scale in large global organisations.
- Automated translation from one programming language to another. Most coder Turing Bots can translate old Java code files into more recent Java code, but they can also translate Cobol into Java. For example, IBM is enabling WatsonX.ai with a 20bn parameter LLM for code to deal with Cobol.
- Automated test case generation and optimisation from requirements. Test cases are fundamental in testing that the original requirements implemented by the legacy system are also met by the system that has been migrated to the modern language. Tester Turing Bots assist with this use case.
An example of automated migration from Cobol with Turing Bots
The above use cases are already helping a lot in a large system integrator’s experiments in migrating from Cobol legacy to modern architectures. In a nutshell, code LLM-enabled Turing Bots are being used to generate documentation from Cobol (and JCL) programmes.
The documents are reworked into requirements and an overall understanding of the application architecture, which is an essential starting point for dealing with any legacy code.
Furthermore, GenAI infused in tester Turing Bots generates test cases from the documented requirements. In parallel, WatsonX.ai translates Cobol and JCL into modern Java code.
Next, the newly-generated Java code gets tested manually and automatically with the test cases. This process guarantees that the new code meets the functional requirements extracted from the Cobol.
This semi-automated process is a starting point; development teams can enrich it further with additional steps, like adding new requirements or capabilities during the document generation process. In other words, further re-engineering of the old application or business process is possible throughout the overall process.
This is the beginning of a new world, where the cost of migrating legacy systems to modern technology stacks is no longer prohibitive.
In the near future, organisations will go from not touching legacy to migrating or regenerating it into new and more modern applications.
So, if you are one of the many companies stuck with legacy systems that you can neither afford to migrate nor replace, do not despair. GenAI has the potential to radically reduce the cost of migration.