Modernising COBOL without the barriers

Modernising COBOL without the barriers

Daniel Kroening

Professor of Computer Science at the University of Oxford and Co-founder at Diffblue

Views 575

Modernising COBOL without the barriers

05.08.2019 11:45 am

COBOL (formally, the Common Business-Oriented Language) underpins the business-critical applications in most large banks and financial institutions. COBOL has something in common with Latin: it’s omnipresent even though few remain who are fluent in it. Its ubiquity seems benign until something needs to be modified and nobody knows how to do so without introducing new problems—and then the benefits of modernising suddenly become clear. 

But if upgrading legacy code were easy, everyone would have done it already. Instead, the IT departments at large, historic institutions face a few familiar bumps in the road when trying to replace COBOL code with modern systems, which new digital transformation tools are working to address, in some cases with help from AI.

1: Debugging legacy code

Most banks are running on applications composed of millions of lines of code, only a fraction of which is accessible, documented and covered by tests. And for the institutions that flourished in the 70s and 80s, a lot of this code will be legacy (COBOL and other languages)—the price they continue to pay for their early success.

Tracing the source of bugs in legacy code can be compared to embarking on an expedition: it can take hours or days to sift through primarily unmapped territory in search of a cause. This partially explains why developers have to spend about half of their time debugging, rather than working on developing new features for the business.

2: Lack of COBOL literacy

One of the main barriers to modernising COBOL is the inability to edit or maintain it when so few developers can understand it. The majority of engineers who spent their careers working with COBOL have since retired, and there is no indication that more new developers will be jumping in to take their places.

As a result, the banking industry is quickly running out of junior engineers with mainframe experience who can carry these applications forward. In a few extreme cases, experts in their 50s and 60s have even been called out of retirement to maintain applications in the companies they used to work for, which is expensive and unsustainable.

3: The cost of overhauling the system

The slow-moving disaster of having whole teams retire without replacements makes rewriting core applications in other languages look appealing, until the time and cost requirements are estimated. The Commonwealth Bank of Australia spent five years and hundreds of millions of dollars replacing their outdated IT systems, and they’re an outlier—most wouldn’t have the resources or high level buy-in to dedicate to such a momentous effort.

The other option is translating COBOL into modern languages, such as Java, Javascript or C#. This has recently become possible using any of several tools depending on the language you want to translate into. The caveat is that if there were any tests in the original code—which is unlikely; COBOL was introduced before testing became a best practice—they’ll be lost in the process.

4: The need for more tests

Working without tests is inefficient, uncertain, and unacceptable to most financial institutions. When legacy code doesn’t have tests, every new line of code written (including attempted bug fixes) has the potential to introduce new bugs, and bugs in critical code can cause untold damage.

Manually writing unit tests is slow and tedious, both for COBOL and translated code. One way for IT departments to speed up software application development is by automating the writing of Java unit tests with AI for code, a new category of technology that uses an AI engine to immediately increase code coverage for all areas of the code base, including those that are sparsely tested. This process can generate tests for an entire application overnight, making it easy for developers to work with the newly translated Java systems.

Driving quality and efficiency with new solutions

Businesses have been implementing these modernisation tools to overcome the roadblocks that have kept their core applications from being agile. For most global banks, Java code by itself would be useless, because they need the reliability and certainty provided by a test suite; the ideal COBOL translation process would also create accompanying tests, ultimately improving the efficiency of software development.

The tools for clearing these hurdles have finally made it possible to upgrade, and the time has come for financial institutions to embrace a future of active participation in tech innovations.

Latest blogs

Ian Pollard Signavio

Are traditional institutions achieving operational excellence?

Traditional banks are under pressure from regulators and customers to provide a seamless customer experience. The benefits and innovations offered by new digital challenger banks are attractive, with consumers making the switch from traditional Read more »

Heiko Stuber SIX

SFTR: an overnight regulatory reporting headache ten years in the making

Waiting ages for a major regulation to come along, and as soon as it arrives another new rule quickly follows. Before the industry has a chance to fully iron out all the post-MiFID II wrinkles, another regulation comes along. This time, compliance Read more »

Laura Timms MHR Analytics

Finance transformation with Analytics

Finance transformation with analytics   Finance transformation is all about improving the overall value that finance provides, but with finance teams under increasing pressure to do more with less, this is something that is becoming increasingly Read more »

Deborah O'Neill Oliver Wyman

Why Robots & AI Will Never Rule Banking

Around the UK, alarm is growing from a belief that robots are taking away jobs. This fear is misplaced. From the steam-powered cotton mills of the industrial revolution to the rise of ATMs in the 1970s, there is little evidence to support the theory Read more »

Robin Singh Koinly.io

What Crypto Investors Should Be Doing To Minimize Their Taxes

Crypto taxes can be heavy on the pocket; especially when you aren’t prepared for them. Since there isn’t too much awareness around crypto taxes yet, most of us tend to end up with a heavy crypto tax liability come tax season. However, in the past Read more »

Magazine
ALL
Free Newsletter Sign-up
+44 (0) 208 819 32 53 +44 (0) 173 261 71 47
Download Our Mobile App
Financial It Youtube channel