Solving the issues with current documentation practices

September 1, 2022

Software development is typically a team endeavor. Developers may work on separate projects but many times their work intersects with modules others are building. Even individuals creating their own applications must refer back to prior work to track source-code changes and limit vulnerabilities. Creating proper documentation for teamwork and legacy code should be a top priority for all developers.

The consequences of missing or inadequate documentation impede application updates and new feature additions, or worse, affect end users by delivering buggy products or missed delivery deadlines.

Phase Change President Steve Brothers was recently interviewed for an article published by SD Times titled, "Solving the issues with current documentation practices," about how software development and maintenance documentation remains an issue. In the interview, Brothers said many times documentation is not a priority because of time constraints – developers feel they are paid and assessed on the code they create, not on documenting the process. And when they do provide comments, once again, project constraints can lead to inaccurate information. This failure to transfer knowledge leads to "slower and sloppier development."

Brothers also talked about coming AI tools that will automatically capture the knowledge developers put into the code, thus creating its own documentation, which never leaves the organization, even when the developers depart. Phase Change's AI tool, COBOL Colleague, will also help automate the process of searching for relevant code and data, which minimizes the need for extensive documentation.

Read the entire article here.

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

How AI can improve software development

January 25, 2022

Transforming business operations is a constant need, and the pandemic-prompted emphasis on modernizing legacy computing systems has forced organizations across industries to accelerate their modernization plans. The problem with mainframe modernization, however, is that today’s code search tools, linters, and program analysis tools are deficient when it comes to mitigating the risks associated with improving and even simply maintaining legacy systems.

Phase Change President Steve Brothers recently authored a contributed article for DevOps.com about how artificial intelligence (AI) tools can help developers work more productively and decrease the risks associated with legacy system modernization and maintenance.

The article, "How AI Can Improve Software Development," explains how today's bug localization, code visualization, and error detection tools don't actually identify specific lines of code that require change. And, once the code is identified, developers are still required to build mental models of their applications to make sure any source code changes don't make even more bugs or crash the entire system.

Through intelligence augmentation, AI can automate the identification of specific lines of code that require change – developers simply ask the AI-driven knowledge repository where unwanted behaviors are coming from, and the AI quickly identifies the code associated with that behavior. Also, before the developers compile or check in the new code, the AI can forward simulate the changes and validate that they won't create more problems or break the system.

Read the entire article here.

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

Phase Change Published Articles

January 12, 2022

The continuing departure of experienced mainframe legacy software engineers from the workforce is driving the potentially devastating lack of system knowledge and expertise now confronting businesses and governments around the world. These mainframes surreptitiously run the global building blocks of society, from government systems to banking and financial markets and healthcare and insurance industries.

Phase Change Software endeavors to engage the industry in conversations about AI's role in bridging the knowledge gap by delivering computation conceptualization and impact verification at machine speed that produces radical productivity improvements.

We've collected our published industry articles and interviews here for your convenience. To continue the conversation, please contact Steve Brothers, President of Phase Change Software.

How a Novel Approach to AI Mitigates the Need for Comments in Code
by Steve Brothers
October 14, 2022
TechNative

How COBOL Code Can Benefit from Machine Learning Insight
by Steve Brothers
October 21, 2022
The New Stack

An AI alternative to code search tools
by Steve Brothers
September 6, 2022
Infoworld New Tech Forum

Reputational Risk: How AI Helps Mitigate Damage to Your Brand
by Steve Brothers
April 7, 2022
CEOWORLD magazine

This image has an empty alt attribute; its file name is builtin-published-article-ai-fixes-code-featured-image_300dpi-1256x656_2022-02-21_tje.jpg

You can use artificial intelligence to fix your broken code
by Steve Brothers
February 22, 2022
BuiltIn.com

How banks should leverage the power of automation
by Steve Brothers
February 9, 2022
TechBullion.com

How AI can improve software development
by Steve Brothers
January 13, 2022
DevOps.com

How AI can support maintenance of aging government systems
by Steve Brothers
July 20, 2021
Nextgov.com

AI rises to the challenge with COBOL
by Steve Brothers
May 28, 2021
techradar.pro

Leveraging AI to close the application knowledge gap
by Steve Brothers
May 19, 2021
BetaNews.com

Can AI solve the engineer shortage?
by Steve Brothers
May 15, 2020
ColoradoBiz Magazine.com

Leveraging AI to Significantly Increase Software Developer Productivity

January 10, 2022

Tech media publisher readwrite recently published an article authored by Phase Change President Steve Brothers about how AI can be used to vastly improve a developer’s ability to efficiently identify code that requires modification or modernization.

The article, Leveraging AI to Significantly Increase Software Developer Productivity, makes the case for thinking about codebases differently and using AI to help developers quickly and efficiently find relevant code.as knowledge repositories.

Developers new to software applications often require months or even years of on-the-job training to avoid making dangerous mistakes and putting critical systems at risk. With today's tools, developers spend roughly 75% of their time searching through and reading source code to identify the relevant code that produces the functionality that requires modification or modernization.

By using AI tools to analyze source code and discover each and every one of its behaviors at machine speed, the code repository can become a knowledge repository that represents source code in the same way that humans think about the world, in cause and effect. The AI interacts and collaborates with developers to disregard code unrelated to the behavior and narrows down the codebase to the specific code that needs to change, without searching through and understanding all of the surrounding code.

Read the entire article here.

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

COBOL defects’ paper coauthored by Phase Change scientists wins IEEE distinguished paper award

October 6, 2021

tsantalis tweet congratulating paper winnersA 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 tweet announcing awardPandita, 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.

Lighten your day with some programming humor

March 5, 2021

There's a lot of great software-development humor out there, and we can all use a little more levity in our lives.

So we are collecting some of the best programming and software-industry humor posts we find and posting them here, along with the original sources.

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].

Researchers earn distinguished paper award with Phase Change help

July 20, 2020

July 20, 2020

by Todd Erickson

A team of Oregon State University scientists partnered with Phase Change Research Scientist Rahul Pandita to study how cognitive biases affect software developers' everyday behavior. The resulting academic paper, "A Tale from the Trenches: Cognitive Biases and Software Development," was recently recognized by ICSE 2020 as an ACM SIGSOFT Distinguished Paper.

According to OpenResearch.org and ACM SIGSOFT, only 2% of all ICSE submissions earn Distinguished Paper Awards.

OSU researchers Nicholas Nelson and Anita Sarma enjoying time in Phase Change's offices.

"Bias is an essential tool for human cognition," said Rahul Pandita. "The presence of bias must not be automatically equated to something negative. In fact, some biases are extremely helpful in navigating the complexities of day to day life. The key is to understand how these biases operate. In the case of routine software development activities, such nuanced understanding allows us to develop effective intelligence augmentation (IA) technology to amplify the benefits of such biases and counter the detrimental effects."

The scientists conducted a two-part study from 2017-2018. Part one focused on observing Phase Change developers performing routine development tasks. They observed Phase Change developers at our offices for a week in March 2018.

“Getting to see the 'behind the scene' workings of this agile, innovative team was a great way of understanding how startups work," said Anita Sarma, an Associate Professor at Oregon State.

Part two involved triangulating their findings by interviewing developers from three other companies about how they perceive and deal with the observed biases found in Part One.

Research Scientists Anita Sarma, Nicholas Nelson, Souti Chattopadhyay, and Christopher Sanchez, along with research interns Audrey Au and Natalie Morales, co-wrote the paper with Pandita.

The research results were presented at ICSE 2020, the 42nd annual International Conference on Software Engineering, July 6-11 in Seoul, South Korea, and virtually from June 27-July 19. All of the Distinguished Papers were announced during a July 10 awards ceremony and appeared on other slides shown throughout the conference.

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

IEEE magazine publishes Phase Change research scientist co-authored paper

February 4, 2019

January 31, 2019

by Todd Erickson*

Phase Change research scientist Rahul Pandita’s co-written paper, “A Conceptual Framework for Engineering Chatbots,” was recently published in the November-December 2018 issue of IEEE Internet Computing^.

The industry magazine is published bi-monthly by the Institute for Electrical and Electronics Engineers (IEEE) Computer Society for evaluating and reviewing Internet-based computer applications and enabling technologies. It focuses on technologies and applications that enable practitioners to utilize Internet-based applications and tools, instead of having to build their own.

The paper

The use of chatbots as virtual assistants is becoming more widespread as companies strive to increase community engagement online and on social-media platforms.

The problem is that most commercially available bots are engineered with If-This-Then-That (IFTTT) frameworks from the 1980s. These decades-old frameworks often create inflexible chatbots that are difficult to maintain.

The bots can be monolithic and may mix dialog-managing rules with business-execution logic and response-generation rules. And when these chatbots must interact with third-party services to orchestrate workflows, the orchestration logic becomes entwined with the IFTTT rules.

Additionally, IFTTT tends to be order sensitive. As chatbots’ capabilities increase, their implementation rules grow more complex, and even simple modifications can require substantial effort.

The paper, “A Conceptual Framework for Engineering Chatbots,“ outlines a high-level conceptual framework founded upon agent-oriented abstractions – goals, plans, and commitments.

It theorizes that well-studied abstractions of goals and commitments from the area of artificial intelligence (AI) and multiagent systems allow for more flexible chatbots. Goals capture an agent’s intentions, and commitments capture meaningful business relationships between agents.

The paper describes how employing goals and commitments can enable a model chatbot that can be verified at design time or runtime, offers flexible enactments, and provides a basis for judging correctness.

Authors

In addition to Pandita, the paper is written by:

It is available free online for IEEE members, and can be purchased through the IEEE Xplore Digital Library.

*Todd Erickson is a tech writer with Phase Change Software. You can reach him at [email protected].

^The figure represented in the featured image and the IEEE Internet Computing magazine cover are copyrighted by the Institute of Electrical and Electronics Engineers Inc..

COBOL is dead! Long live COBOL!
A living collection of COBOL articles

October 30, 2018

updated March 16, 2021

by Todd Erickson

To stay up-to-date with the latest news and commentary surrounding COBOL-based applications, we track and archive COBOL-related online articles. Below is our current collection of stories, which we try to update frequently.

Despite its age and multiple reports of its impended death, the Common Business Oriented Language (COBOL) remains responsible for a large portion of the world’s daily financial transactions – credible estimates include as much as $3 trillion per day and roughly 90 percent of all ATM and in-person financial transactions.

COBOL was first published in January 1960 by the Conference on Data Systems Languages (CODASLY), who based it on the first compiler developed by Admiral Grace Hopper and her team at Remington Rand in 1952. It’s designed to develop portable business applications that could be run on systems developed by multiple manufacturers.

It remains vital to the world’s financial systems because of its simplicity and reliability.

One measure of its importance is the number of news and commentary articles published in reliable industry sources that repeat a common theme, namely that the programming language is ancient, nobody wants to use it, but it’s so vital to the financial and government sectors that it won’t go away – COBOL is dead! Long live COBOL!

Once or twice a year a new piece pops up and we typically pass it around the office, discuss new information or opinions it reveals, and archive it.

Recently, one of our shrewd colleagues suggested we post links to these articles here on our website so others in the small but influential COBOL community can reference them.

So we did. We’ll update this page when we discover new COBOL media pieces. If we’ve missed something important, email [email protected].

Long live COBOL!

Articles

2020
Title Date Author Snippet
The code that controls your money November 10, 2020 Clive Thompson
Tech Journalist
COBOL underpins the world's financial systems, and it's not going away soon.
Why the Government Is Desperate for Programmers Who Know This Old Language April 9, 2020 Caroline Delbert
Popular Mechanics
As the U.S. grapples with the economic fallout from the COVID-19 pandemic, government agencies with aging systems are clammering for COBOL developers.
A lazy fix 20 years ago means the Y2K bug is taking down computers now January 7, 2020 Chris Stokel-Walker
New Scientist.com
A quick but lazy fix to the Y2K bug is now putting the same systems in danger.
2019
Title Date Author Snippet
How COBOL still powers the global economy at 60 years old may 23, 2019 Paul Flahive
Texas Public radio
Financial institutions continue to rely on COBOL code, but will new training programs be enough to replace the retiring workforce?
SHARE: GAO’s Mainframe Risk Claims Debunked May 9, 2019 SHARE'D Intelligence The 2018 GAO Report that says government systems are at significant risk due to their reliance on legacy programming languages is nonsense. Evolving architecture is always bridging the gap between older and modern applications.
2018
Title Date Author Snippet
Quartz Obsession: COBOL June 28, 2018 Justin Sablich What's going to happen when all the Baby-Boomer COBOL developers retire?
In digital transformation top banks are leading April 3, 2018 Tom Groenfeldt Instead of ripping and replacing legacy systems and code, which can be prohibitively expensive and time consuming, some banks are maintaining these systems and wrapping customer engagement systems around them.
It’s Cobol all the way down April 2018 Glenn Fleishman COBOL-based systems continue to run much of the world’s financial systems. But its supporting workforce is retiring and efforts to convert these applications to modern programming languages are expensive and time-consuming.
2017
Title Pub Date Author Snippet
COBOL is everywhere. Who will maintain it? May 6, 2017 David Cassel Many of the world’s financial institutions and U.S. government agencies, such as Homeland Security, Department of Veterans Affairs, and Social Security, rely on COBOL-based systems, but a shortage of programming talent and education institutions that provide programming courses is on the horizon.
Trump said government has one 40-year-old IT system. It actually has at least 10. April 12, 2017 Frank Konkel A list of 10 U.S. government computer systems that are at least 40-years old. Three of the systems run on COBOL code.
Banks scramble to fix old systems as IT 'cowboys' ride into sunset April 9, 2017 Anna Irrera
Reuters.com
Organizations that rely on Cobol-based applications have a hard time replacing retiring programmers and support personnel, which has given veteran developers opportunities to continue working, even after retirement.
2016
Title Date Author Snippet
Why it’s time to learn COBOL April 1, 2016 Paul Rubens
CIO.com
Acquiring COBOL programming skills might be a wise career move. Hundreds-of-billions of lines of COBOL code are still in use and many universities have stopped offering classes in the 50+ year old language.
2015
Title Date Author Snippet
The inevitable return of COBOL July 6, 2015 Ritika Trikha
HackerRank
The looming shortage of COBOL programmers will inevitably lead to COBOL programming once again becoming an in-demand skill set.
2014
Title Date Author Snippet
CIOs should prepare for lack of Cobol (Yes, Cobol) developers October 2, 2014 Sharon Florentine
CIO.com
While the demand for talented and skilled Cobol programmers remains steady, the programming language’s lack of popularity has shrunk the available talent pool. As the existing Cobol support workforce ages and retires, companies are resorting to novel strategies to acquire and train staff.
Cobol is dead. Long live Cobol! October 2, 2014 Gary Beach
Wall Street Journal CIO Journal blogs
CIOs that rely on Cobol-based systems keep developer staff as long as possible while others prefer new hires with multi-language capabilities over Cobol-specific or Cobol-only skills.
All the rich kids are into COBOL – but why? September 17, 2014 Matt Asay
readwrite.com
COBOL isn’t sexy or even that popular. But the basic tenants of supply and demand remain true – if there are still a lot of COBOL applications running critical systems and not a lot of programmers interested in learning the 50-year-old programming language, then brushing up on your COBOL skills might make it easier to find a job earning more money.
The government’s COBOL conundrum June 2, 2014 Nicole Blake Johnson
FedTech magazine.com
The U.S. federal government’s Office of Personnel Management released its “Strategic Information Technology Plan” for revamping the agency’s IP operations. Part of the plan discusses the office’s plans for maintaining and eventually migrating away from the roughly 60-million-lines of production COBOL code that enable the agency to meet a number of its regulatory requirements.
2012
Title Date Author Snippet
Brain Drain: Where COBOL systems go from here May 21, 2012 Robert L. Mitchell
CIO.com
Not only does losing experienced COBOL programmers hurt many companies’ ability to maintain its mainframe systems, but it also means the loss of the programmers’ deep understanding of the business logic. A number of organizations are teaming with private businesses to educate younger programmers and team them with experienced developers before it’s too late.
Cobol brain drain: Survey results March 14, 2012 Compuworld Staff Results from the Compuworld survey on Cobol use in business and government, which showed that nearly 50 percent of respondents had operational Cobol-based systems and a large number continue to develop new business applications with Cobol.
The future of COBOL: Why it won’t go away soon – Part 2 January 11, 2012 Brian Bloom
IT World Canada
When thinking about maintaining or replacing their COBOL systems, companies must consider the employee angle. Can they continue to hire COBOL programmers when experts forecast that a major COBOL skills gap in on the horizon, and is that enough of a reason to rip and replace?
The future of COBOL: Why it won’t go away soon – Part 1 January 10, 2012 Brian Bloom
IT World Canada
COBOL-based systems will not be going away anytime soon because of the millions of invested man-hours and dollars already spent to develop these mainframe programs and the enormous predicted replacement costs. There’s also the fact that we don’t have anything better enough to make the change.
Fun

*All images are copyrighted by their respective owners

Todd Erickson is a tech writer with Phase Change. You can reach him 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