Cobol was, and remains, the go-to technology for reliable financial and administrative systems, such as those used by the tax administration, banks, insurers and mortgage lenders.  

“The construction of these systems started in the 1960s,” says Jurgen Vinju, a researcher at the Dutch national research institute for mathematics and computer science, Centrum Wiskunde & Informatica (CWI), and a professor of automated software analysis at the Technical University in Eindhoven. 

“Systems inevitably grow due to adding new functionalities and adapting to changing circumstances. Unfortunately, maintaining these systems as small and manageable is often not a priority, making them incomprehensible over the years.” 

Cobol experts retirement crisis 

The retirement of the generation of experts who possess in-depth knowledge of Cobol systems is leading to a severe knowledge shortage. 

“They have knowledge not only of the Cobol programming language, but also of the specific systems they have worked on and built over the years,” says Tijs van der Storm, Vinju’s colleague at CWI and professor of software engineering at the University of Groningen.  

Vinju adds: “These experts are often the only ones who know the systems well enough to maintain and improve them.” The lack of experienced Cobol programmers means fewer people can make the necessary adjustments and maintenance, which “creates a risk for organisations dependent on these systems”.

The Social Insurance Bank (SVB) is a good example. When SVB faced severe issues with its outdated Cobol systems, it realised that the critical knowledge to maintain and improve them had largely retired. 

To address this problem, a group of retired Cobol experts was brought back. Their deep understanding of the programming language and specific business processes allowed them to quickly identify the issues and implement solutions. Their return ensured that existing systems were maintained and optimised, leading to significant savings and improved service reliability. But Cobol itself is not the problem, the researchers say.

“The problem lies mainly in the fact that all these old Cobol systems have grown enormously over the past decades,” says Vinju. “This is due to people wanting new things and the context continuously changing, such as through changing laws. Software engineers expand the system to meet these changes, leading to exponential growth of the source code. Over time, the system grows beyond comprehension, especially for new people. 

“This reduces flexibility, effectiveness, and maintenance reliability, making adapting the system to new requirements difficult. The problem is mainly the decreasing effectiveness of knowledge over an increasingly large system,” Vinju adds. 

Managing complexity  

CWI researchers focus on controlling and preventing this complexity. “Our research focuses on developing analysis techniques that can help manage and maintain old and complex systems,” says Vinju.

Developing better programming languages, specifically domain-specific languages (DSLs), is essential. 

“DSLs can make certain domains, such as financial systems, simpler and better to analyse because they have less general applicability,” Van der Storm explains. “This results in smaller, more understandable programs, facilitating analysis and maintenance.” 

An excellent example of DSLs’ success is RISLA, a domain-specific language used in the financial sector. The language was developed to describe and implement financial products efficiently. This language allows financial experts to specify contract terms and product details in understandable text without deep programming knowledge. A code generator then automatically generates Cobol code based on these specifications. 

By capturing specific domain knowledge in an understandable and compact form, a DSL allows complex business logic and rules to be specified in simple, readable terms. This prevents programmers from manually writing extensive Cobol code each time, reducing the risk of errors and improving consistency. 

Moreover, a DSL can use a code generator to convert these specifications into well-structured Cobol code automatically. This ensures that changes and new functions can be implemented quickly and error-free without further expanding the underlying codebase. 

“This keeps the systems more manageable and better maintainable, improving the systems’ long-term sustainability. The generated code is uniform and follows strict standards, ensuring the system’s integrity and reducing the risk of bugs and system failures,” says Vinju, who is also a co-owner of the spin-off company Swat. engineering that focuses on DSLs and reverse engineering. 

Another solution direction that CWI is exploring to reduce the complexity of current Dutch Cobol systems is reverse engineering. “This process allows deep system knowledge to be retrieved, even if the original developers are no longer available,” says Vinju. 

The insights gained can help simplify the system’s structure and logic, identify unnecessary components, and remove inefficiencies. Reverse engineering tools can also reveal patterns and relationships within the code, making bottlenecks and vulnerabilities more visible. This approach allows organisations to modernise and optimise their systems while incrementally maintaining operational integrity. 

Investing in Cobol’s future 

The future of Cobol systems in the Netherlands heavily depends on the willingness of government organisations and financial institutions to invest in techniques such as DSLs, reverse engineering, and training new Cobol programmers. 

“Migration to modern technology requires a good understanding of the current system,” says Vinju. “This is often lacking now, making effective migration difficult.

“Moreover, outsourced migrations often result in new systems that are as complex and incomprehensible as the old ones. The real problem is the lack of system knowledge. We haven’t given Cobol experts enough opportunities to transfer their knowledge and skills before retirement.” 

Schools and universities in the Netherlands stopped training Cobol programmers in the 1980s, thinking the language would become extinct. This now creates a gap in the number of available developers. There are organisations in the Netherlands that address this by training career switchers. 

Although much is said about phasing out Cobol in the Netherlands, this is not always the best solution, according to CWI researchers. 

“Cobol is very suitable for financial transactions and offers advantages that modern languages cannot always match. It is important to invest in maintaining and modernising existing Cobol systems rather than completely replacing them,” says Vinju. 

The problem, however, is that budgets are often not allocated for what is truly needed. “Short-term plans do not solve large-scale maintenance problems. This requires a long-term vision and plans of 10 to 15 years,” Vinju concludes. 



Source link