All Posts in developer-engineer

April 9, 2021 - No Comments!

Phase Change President: Creative & focused AI needed to help COBOL skills shortage

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.

Read Steve’s entire Built In Colorado article at https://builtin.com/artificial-intelligence/cobol-skills-shortage.

February 24, 2021 - Comments Off on Legacy system failures expose the application knowledge gap’s harmful risks

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

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 sbrothers@phasechange.ai.

October 30, 2018 - Comments Off on COBOL is dead! Long live COBOL!
A living collection of COBOL articles

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

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 terickson@phasechange.ai.

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

Title Date Author Snippet
Are you a COBOL programmer? November 4, 1997 Scott Adams
Dilbert.com
Are you a COBOL programmer?
The Holy Grail of [programming] technology! June 10, 1994 Scott Adams
Dilbert.com
It's the Holy Grail of programming! dilbert cartoon

Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

March 21, 2018 - Comments Off on Phase Change scientists present natural language chat interface paper at AAAI Conference – blog

Phase Change scientists present natural language chat interface paper at AAAI Conference – blog

March 20, 2018

by Rahul Pandita and Todd Erickson

Research Scientist Aleksander Chakarov, Ph.D., presented a recently published Phase Change workshop paper at the 32nd AAAI Conference on Artificial Intelligence in February.

The AAAI conference is held each spring by the Association for the Advancement of Artificial Intelligence (AAAI) nonprofit and scientific society to promote research in artificial intelligence (AI) and scientific discussion among researchers, practitioners, scientists, and engineers in related fields.

The paper, Towards J.A.R.V.I.S. for Software Engineering: Lessons Learned in Implementing a Natural Language Chat Interface, was co-written by Chakarov and fellow research scientists Rahul Pandita and Hugolin Bergier.

"We're excited about the opportunity to share our work with researchers and get their feedback," Pandita remarked. "We consider it the first of many stepping stones to present the science behind Phase Change's technology."

Phase Change is developing a ground-breaking cognitive platform and an AI-based collaborative agent called Mia that will dramatically improve software development productivity and efficiency. Mia utilizes a natural-language chat interface so users can get up-and-running quickly.

Aleksander presented the paper on during the February 2 AAAI Workshop on NLP for Software Engineering in New Orleans, Louisiana.

The paper

Mia uses a natural language chat interface, much like the virtual assistants in other industries that have demonstrated the potential to significantly improve users' digital experiences.

The paper relates the lessons our developers learned during the first iteration of the Mia chat interface implementation, including:

  • Reusing components to quickly prototype
  • Gradually migrating from rule-based to statistical approaches
  • Adopting recommendation systems

The paper describes these lessons and others, including our experiences applying subliminal priming and the benefits of data-driven prioritization, in more detail.

The workshop

"I feel like we did a good job of setting up the context – what problems we are solving, what our approach is – and then we moved to the takeaways very quickly," Aleksander said about his experience presenting the paper. "People were engaged."

He also described two comments made during his session's brief Q&A time. The first commentator explained how current scientific research supports the paper's findings about subliminal priming and how conversations change over time.

The second commentator discussed our use of rules-based approach at first to develop an optimal work environment and then gradually moving towards a statistical approach. He suggested that there is also a third tactic that uses simulations to quickly gather data and hasten the inclusion of statistical approaches. We will investigate his suggestions for further use.

We welcome your comments and observations.

Rahul Pandita is a senior research scientist at Phase Change. He earned his Ph.D. in computer science from North Carolina State University. You can reach him at rpandita@phasechange.ai.

Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

January 25, 2018 - Comments Off on Introducing Mia — the first assistive AI for software development

Introducing Mia — the first assistive AI for software development

January 25, 2018

by Todd Erickson

Phase Change proudly presents our maiden in-house video, featuring Mia, the first assistive AI for software development.

Mia helps organizations retain the expert knowledge encoded in software. Developers, stakeholders, and executives can use this knowledge to better understand their applications and increase development productivity by a factor of 100.

Learn why founder and CEO Steve Bucuvalas first began to envision the technology and see how Mia collaborates like an expert to help users explore and comprehend their software.

Discover why one executive said, "I never thought I'd see this in my lifetime."

 

 

Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

August 4, 2017 - Comments Off on Phase Change enables market adaptability through impact analysis

Phase Change enables market adaptability through impact analysis

August 4, 2017

by Todd Erickson

Gary Brach, Ken Hei, and Brad Cleavenger discuss how Phase Change's assistive AI removes the doubt associated with changing software applications.

Changing software is difficult and expensive, and it can be a major stumbling block to business innovation.

Phase Change's assistive AI will enable software teams to quickly and fearlessly address market opportunities by rapidly assessing the scope and viability of proposed software modifications, and then efficiently making changes without adding the technical debt that reduces system performance and application life span.

Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

June 26, 2017 - Comments Off on Understanding code is the key to software development

Understanding code is the key to software development

June 26, 2017

By Elizabeth Richards and Todd Erickson

Discover how software developers are like archaeologists, and why understanding source code – the key to software development – involves a lot more than digging.

Software engineers are often called developers. However, according to a number of experienced programmers, they spend the great majority of their time (78%) simply searching and understanding existing software, and the rest of their time (22%) actually modifying legacy software or developing new applications.

Programmers are forced to spend so much time finding and comprehending code because current tools and techniques are not technically savvy, and they are too focused on the searching process. They don't help developers understand how the code works together within the systems they serve.

In fact, a recent blog post compared the source-code searching process to archeology. It's a reasonable analogy given that the tools developers use are only slightly more advanced than rudimentary shovels and brushes.

Why is software development – an activity that's driving incredible technological change – so far behind the curve in building tools that help programmers comprehend the code they work on?

Artifacts

Searching for ancient relics and specific lines of code are both complex processes.

An archeologist doesn't use a bulldozer and dig in random locations. She researches excavation sites and uses advanced technology, such as satellite imagery to find optimum exploration locales and ground-penetrating radar for mapping. Then she carefully and methodically removes topsoil while analyzing and recording each artifact down to the smallest pottery shard.

Every relic she unearths builds her knowledge of the site, and the people and culture she's investigating. For example, the archaeologist may assemble a handful of pottery shards into a serving dish, which she studies alongside other artifacts to better understand an ancient culture's family meal rituals. She can easily share the dish with other scholars and store it for future analysis.

Each discovered artifact may also modify how she approaches the rest of the dig.

Code

In software development, Professor Vaclav Rajlich asserts that the processes of searching and understanding code require two phases called concept location and impact analysis. Concept location involves finding the lines of code to be modified and the relevant but disjoined source surrounding it.

Impact analysis examines how a proposed modification will impact the entire application, including performance, stability, intent, and secondary consequences in distant modules. Poor or incomplete impact analysis can lead to more bugs.

In essence, a developer spends his time in active knowledge construction, building an integrated mental model so he understands how a system is constructed and its purpose and intended results. Only then can he be confident enough to make changes.

Errors logs, debuggers, and grepping assist developers in finding specific lines of code – his shards of pottery. But the developer must reconstruct the code into the mental models necessary for understanding the system. And these models remain locked away in the developer's mind, making them difficult to share and retrieve over time.

The greatest shovel ever invented

But it doesn’t have to be that way. Phase Change’s technology will transform how developers search and understand source code and applications. A programmer will no longer have to manually and laboriously search and play connect-the-dots to build mental models.

We are developing assistive artificial intelligence (AI) that automatically analyzes source code and understands the human intent behind it, creating immersive application-visualizations that resemble a programmer’s mental models. These visualizations can be stored, retrieved, and shared similar to how an archaeologist saves and shares the artifacts she assembles.

A developer will collaborate with our AI agent using natural language to effortlessly locate source and move quickly beyond simply identifying concept locations to performing comprehensive impact analysis. He will be aware of every effect his modifications bring about, and work confidently with a rich understanding of the code and the application.

Because the goal isn't to search, it's to understand.

learn more about our technology

 

 

Elizabeth Richards is Phase Change's director of business operations. You can reach her at erichards@phasechange.ai.
Todd Erickson is a tech writer with Phase Change. You can reach him at terickson@phasechange.ai.

February 16, 2017 - Comments Off on Leveraging software’s encoded knowledge to create an assistive AI — science podcast 4 of 4

Leveraging software’s encoded knowledge to create an assistive AI — science podcast 4 of 4

February 16, 2017

This is the fourth and final in a series of practical talks by founder and CEO Steve Bucuvalas about Phase Change Software, what we are developing, the math and science behind our technology, and the impact on the software development process.

Using a whimsical example of dog banking, Steve discusses how the knowledge that’s encoded in software is normalized into a data structure, which enables us to create an assistive AI and solve the learning curve problem.

Podcast Slides and References

Time Stamps Slides and References
00:11 Steve Bucuvalas Podcast – Equality: The fundamental operation for software as data -- science podcast 3 of 4
05:15 PowerPoint Slide #1: Black-box view of Dog banking application -- the user (dog) view
05:21 PowerPoint Slide #2: White-box view of Dog Banking application -- the developer view
08:30 PowerPoint Slide #3: Merging the black-box and white-box views -- Dog Banking source code sliced into functional segments

February 16, 2017 - Comments Off on Equality: The fundamental operation for software as data — science podcast 3 of 4

Equality: The fundamental operation for software as data — science podcast 3 of 4

February 16, 2017

This is the third in a series of practical talks by founder and CEO Steve Bucuvalas about Phase Change Software, what we are developing, the math and science behind our technology, and the impact on the software development process.

In this podcast, Steve addresses the fundamental operation for software to be treated as data, which is equality, and begins by asking how we know when a fundamental unit of software is equal to something else? The first talk in this series introduces the idea of compiling programs into an AI representation. In the second talk, the Turing and Rice proofs are shown that they only apply to the mental domain of computation.

Podcast Slides and References

Time Stamps Slides and References
00:28 Steve Bucuvalas Podcast – Changing the essence of software and creating breakaway efficiency — science podcast 1 of 4
00:36 Steve Bucuvalas Podcast – The Turing machine, the Halting problem, and Rice’s use of the Turing proof — science podcast 2 of 4
02:50 PowerPoint Slide #1: Using C-language functions to show functional equivalence determination method
09:05 PowerPoint Slide #2: Stack Overflow thread about Turing's Halting problem -- Online Thread
10:34 Steve Bucuvalas Podcast – Leveraging software’s encoded knowledge to create an assistive AI — science podcast 4 of 4

February 16, 2017 - Comments Off on Changing the essence of software and creating breakaway efficiency — science podcast 1 of 4

Changing the essence of software and creating breakaway efficiency — science podcast 1 of 4

February 16, 2017

This is the first in a series of practical talks by founder and CEO Steve Bucuvalas about Phase Change Software, what we are developing, the math and science behind our technology, and the impact on the software development process.

In keeping with the physics' definition of the term ‘phase change,’ we are changing the essence of software. Taking something that is chaotic and turning it into something coherent. Taking something that is intractable and hard to understand and making it into an AI that actively helps every person in the software development process.