How COBOL Code Can Benefit from Machine Learning Insight

October 24, 2022

Most dev tools are not yet capable of identifying the specific lines of code that need to be changed, and unearthing that information is hard cognitive work. While some tools can help improve productivity by suggesting what code to write, software developers still have to use their brains to add new features, fix bugs, implement changes to meet regulatory requirements, address security needs and solve challenging engineering problems. This can drastically affect productivity and increase the risk of application crashes.

Phase Change President Steve Brothers recently shared his thoughts on how COBOL Colleague offers an elegant solution that uses AI to automate the identification of specific lines of code that require attention to this problem in an article tiled: "How COBOL Code Can Benefit from Machine Learning Insight."

Read the entire article here.

Stephen Tullos is an Analyst with Phase Change Software. You can reach him at [email protected].

How AI can support maintenance of aging government systems

July 21, 2021

Phase Change President Steve Brothers recently authored a contributed article for Nextgov.com about how artificial intelligence (AI) tools can help governments deal with the mainframe-developers skills shortage and continue to maintain critical legacy systems.

The article, How AI Can Help with Critical Government System Maintenance Needs, describes how we should change the current industry strategy of solving the skills crisis by simply increasing the number of programmers with legacy language skills.

Brothers' article explains why the problem isn't just language skills, it's the lack of application knowledge to productively maintain applications. Supporting applications is very different than creating them. Defects are discovered through behaviors, which the developer must trace back to the flawed source code. The defective code and its dependencies can be spread throughout the codebase in multiple modules and repositories. Without the application knowledge to know how the system works, maintenance becomes an unproductive scavenger hunt. Then the developer must discover how the repair will impact the rest of the system.

AI tools help developers locate and isolate defective code by conceptualizing code computations at machine speed. It eliminates code unrelated to the bad behavior and enables the developer to find and focus on defects. Then the AI simulates running the repaired code to determine change impact so the developer is confident his work won't negatively affect the application.

Read the entire article here.

Todd Erickson is a Technology Writer with Phase Change. You can reach him at [email protected].

IEEE conference accepts paper co-authored by Phase Change scientists

July 20, 2021

The International Conference on Software Maintenance and Evolution (ICSME) 2021 accepted a technical paper authored by current and former Phase Change research scientists for presentation at its 37th annual event in Luxembourg City, Great Duchy of Luxembourg, September 27 - October 1.

The paper, "Contemporary COBOL: Developers' Perspectives on Defects and Defect Location," was co-authored by current Phase Change Senior Research Scientist Rahul Pandita, former Senior Research Scientist Aleksander Chakarov, and former intern Agnieszka Ciborowska.

The authors' goal is to direct the attention of researchers and practitioners towards investigating and addressing challenges associated with mainframe software development. More specifically, they present results from surveys of COBOL and more modern programming languages regarding defects and defect-location strategies. Software development has made substantial advances in software maintenance for modern programming languages but mainframe programming languages receive limited attention.

Meanwhile, mainframe systems are facing a critical shortage of experienced developers as the current generation retires. Without extensive mainframe and application-specific experience, replacement developers face significant difficulties, even during routine maintenance tasks such as code comprehension and defect location.

ICSME is an annual event sponsored by the Institute of Electrical and Electronics Engineers (IEEE) to present, discuss, and debate the most recent ideas, experiences, and challenges in software maintenance and evolution. This year's conference will be a virtual event.

Todd Erickson is a Technology Writer with Phase Change. You can reach him at [email protected].

AI rises to the challenge with COBOL

June 3, 2021

June 3, 2021

by Todd Erickson

A May 28 article published by TechRadar pro, and written by Phase Change President Steve Brothers, explains how the well-reported "COBOL skills shortage" is not really a fundamental problem for enterprises that rely on mainframe systems. The real challenge is application knowledge. Developers can learn COBOL in less than 6 months. What they can't learn quickly is specific application knowledge because that knowledge comes from experience.

Steve also describes how AI tools that assist developers in identifying and locating code responsible for specific behavior will help them reveal the application's intent and expose code that requires change. The developers will learn the application through task completion while remaining productive for the organization.

Click here to read the full article on TechRadar pro.

Todd Erickson is a Technology Writer with Phase Change. You can reach him at [email protected].

Legacy system failures expose the application knowledge gap’s harmful risks

February 24, 2021

February 24, 2021

by Steve Brothers

Government system failures during the rush to provide public benefits to alleviate the economic effects of the COVID-19 pandemic publicly exposed the mainframe knowledge crisis that also threatens financial institutions, healthcare providers, and many other organizations foundational to the world economy.

Several states discovered the knowledge-gap’s potentially devastating consequences when waves of unemployment-claims poured into their systems as COVID-19 ravaged the economy in early 2020. The states’ unemployment computer systems crashed trying to process the deluge of claims using mainframes and decades-old programming languages.

But it wasn’t the mainframes or the legacy programming languages that failed, despite what you may have read. It was the lack of available expert programmers necessary to maintain and update these systems to handle the voluminous claims.

According to The Verge’s article, “Unemployment checks are being held up by a coding language almost nobody knows,” Colorado employed exactly one full-time programmer to maintain the state’s COBOL system prior to the pandemic. Back then, Colorado processed roughly 2,000 unemployment claims per week. In March and April 2020, that number rocketed to as high as 104,572 claims per week.

Now governments, non-profits, and private organizations are reviewing their systems’ strategies to learn from these mistakes. If your business relies on legacy systems, you probably should keep reading – and schedule some time with your IT people.

Mainframes are cornerstones

Legacy mainframe systems and software bedrock many of our most trusted institutions, including government services, finance and banking, healthcare, and insurance. In a substantial number of cases the expert developers that created and maintained these systems and software are retiring without a supporting workforce to replace them.

Besides the people that make your business run, your software is potentially the most important resource your organization has. Internal applications likely drive your employees' capabilities and productivity. Customer-facing programs attract new customers, close business deals, and increase revenue. New applications and features can open new markets and opportunities.

To maintain and improve your critical applications, your software team relies on individual engineers that developed an expert understanding of your programs through years of experience. They know the applications and all the accumulated system changes and challenges.

When those experienced engineers depart your business, the developers that replace them must acquire the same application knowledge through training, mentorship, and on-the-job programming. This exercise introduces several material business risks.

Learning on the job

Developers new to software applications typically require 6-12 months of on-the-job learning to become productive, depending on the size of the source code base. To become proficient, programmers may need up to 3 years.

Without qualified software developers knowledgeable about your applications, you endanger your business's operations, reputation, and security. You also risk a significant decrease in your software teams' productivity and efficiency.

Consider the monumental task confronting newly hired or transferred IRS developers last March. Congress passed the CARES Act on March 25, 2020, and then Treasury Secretary Steven Mnuchin announced that individual stimulus checks would be mailed in early April.

To assist with the delivery of economic stimulus payments, the new developers were required to immediately start working with the agency's source code base, which, in 2019, was estimated at nearly 20 million lines of code and includes over 60 years of legislative and system changes. As of mid-May 2020, nearly 20 million people had not received their stimulus checks, and some recipients had problems throughout the year.

These engineers didn’t have 6-12 months to become productive. They had to hit the ground running on day one. And without the benefit of weeks or months of training and on-the-job learning, they didn’t have the application knowledge necessary to understand how even simple changes could affect entire applications.

And let's not forget the productivity loss due to the remaining IRS's experienced engineers for training, mentoring, and supervising the new recruits.

What’s your risk?

Your situation may not be as dire as what the IRS faced – for now. But how much time can you really give your new developers to learn the system, and how much productivity can you afford to lose while your experienced programmers train and supervise them?

How much do you trust the developers that have just started working on your critical applications?

How confident will you be when your CEO or Board of Directors asks for assurances that the next customer-facing application update will not result in outages and lost revenue – especially if the update was programmed by a developer you hired just weeks ago?

Your software is a critical part of your organization, especially if you rely on legacy mainframe systems. You must have a plan or tool that keeps the code running and bridges the gap between retiring and departing developers and the people that will replace them.

Steve Brothers is the President of Phase Change Software. You can reach him on LinkedIn or at [email protected].

Contact

651 Corporate Circle
Suite 209A
Golden, Colorado 80401
Phone: +1.303.586.8900
Email: [email protected]

© 2024 Phase Change Software, LLC