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."
A technical paper co-authored by current and former Phase Change research scientists, and presented at the 2021 annual ICSME event, won a Distinguished Paper Award from the IEEE Computer Society Technical Council on Software Engineering (TCSE).
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. It was presented at the 37th annual International Conference on Software Maintenance and Evolution (ICSME) 2021 in Luxembourg City, Great Duchy of Luxembourg, September 27 - October 1.
The authors presented results from surveys of COBOL and more modern programming languages regarding defects and defect-location strategies. While the software industry has made substantial advances in maintaining programs written in modern languages, mainframe programs have received limited attention. Meanwhile, mainframe systems face a critical shortage of experienced developers and replacement developers face significant difficulties even during routine maintenance tasks.
Pandita, who has already co-authored a number of published papers, said that this award is particularly gratifying because all of the authors were working together at Phase Change when it was written, and that he hopes it is just the first of many more like it.
This is the fourth published technical paper co-authored by Phase Change scientists, the third to be presented at scientific conferences, and the second to win a distinguished paper award.
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.
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.
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 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].
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.
The so-called "COBOL Skills Shortage" is compelling many organizations to impetuously hire and train programmers to maintain, support, and attempt to modernize their COBOL systems.
But understanding how to write COBOL is not enough — developers have to comprehend what an application actually does and how code changes can impact the system as a whole to avoid critical missteps. That work for those developers is cognitively difficult.
Phase Change President Steve Brothers recently wrote an article for Built In Colorado.com about how artificial intelligence (AI) can help solve the application knowledge gap problem, but only when traditional AI technology gets more creative and moves beyond understanding general business knowledge and instead learns specialized industry and institutional domain knowledge.
AI & software development
AI can help solve the application knowledge gap dilemma, but popular contemporary AI approaches are insufficient. Some AI tools can help with the syntax of writing code, but these remedies only provide incremental value.
Developers spend nearly 75 percent of their time finding the area in the source code in which they need to make a change because understanding code in these large complex systems is difficult and time-consuming.
AI will emerge as a paradigm-changing technology when it can understand code intent and “reimagine” computation into concepts, thereby doing what a developer does when they code — but at machine speed.
Phase Change COO Steve Brothers was interviewed and quoted in a TechRadar Pro article published on December 18 about the 'COBOL skills shortage.' He shared his insights on how 'knowledge attrition' – an organization's declining application knowledge due to the departure of experienced software developers – was really the cause of government system failures during the COVID-19 pandemic, and why it remains a serious problem today.
Legacy applications and the COBOL skills shortage were widely blamed for government financial-aid system failures during the first few months of the Coronavirus pandemic. But the TechRadar Pro article revealed that the system failures were not a result of the lack of COBOL programmers. The problem was a severe shortage of legacy-application programmers that understand how these legendary applications work and what the source code does.
“In the COBOL space, you have millions of lines of active code and, to perform necessary maintenance, you need developers that understand what that code does," Brothers said. "But when you’re writing complex applications, code written in the morning becomes legacy by the afternoon.”
The story describes Phase Change's initial market product, COBOL Colleague, which is currently in beta testing and scheduled for release in Q2, and how it is designed to collaborate with developers new to legacy applications and make it easier for them to complete maintenance tasks without requiring experienced colleagues or subject matter experts.
The COVID-19 pandemic has revealed workforce shortages in a number of industries, including healthcare, food retail, and cybersecurity.
The related financial crisis and government financial assistance requests have also demonstrated a critical need for legacy system developers. The recent performance issues experienced by these financial assistance programs have exposed how dependent our financial and public infrastructure are on legacy and mainframe systems.
Phase Change COO Steve Brothers recently penned an article for ColoradoBiz Magazine about how the legacy application skills shortage threatens the software that underpins a great deal of the world's large financial and government systems.
He also talks about how artificial intelligence (AI) can be extremely effective in helping legacy application maintenance and development by introducing automation into the process, improving project management efficiencies, and by shortening the steep training curve typically experienced by developers new to these systems.
Learn more about how the improved productivity and efficiency AI brings to software development could be instrumental in maintaining and improving our critical legacy and mainframe systems.
Educating young developers about the importance of legacy software applications, and building the tools needed to connect them with modern technologies are the keys to combining old-school reliability and new-school engineering say Bill and Eileen Hinshaw of COBOL Cowboys.
If you've followed the stories about the computer-system meltdowns brought about by the overwhelming demand for government financial assistance during the COVID-19 pandemic, then you've probably read about COBOL Cowboys.
The Hinshaw's founded the company to bring together experienced programmers and organizations that lack the expertise needed to fix and maintain their legacy applications.
When the system failures started, government officials were quick to blame their back-end mainframe applications, just as they did during the Y2K crisis. However, those same officials were forced to backtrack when Bill and others revealed that the mainframe applications were fine – it was the agency's infrastructure and front-end systems that caused the problems.
Bill and Eileen have done a number of interviews about the system failures, but now they want to talk about moving forward to ensure that these legacy systems are updated using modern technologies, so they don't get blamed for the next computer catastrophe.
That's where education and better tools come into play. Bill and Eileen say the good that's come from our current situation has been the increased public and industry awareness of how important legacy systems are to industries and companies around the world.
Their goal is to educate young software developers on the advantages of mainframe systems so more programmers will be interested in working with them and will replenish the declining workforce.
Learn more about the COBOL Cowboys and how critical mainframe applications are to the world in this Phase Change podcast.
Todd Erickson is a Technology Writer at Phase Change Software. You can reach him at [email protected].
Colorado Inno.com Associate Editor Nick Greenhalgh recently interviewed Phase Change President Steve Brothers for a profile story titled, "Golden startup's AI aims to make developers more efficient," that explains how our technology operates as a subject-matter expert and will improve software-developer efficiency and productivity, especially for industries that rely on enterprise software.