Various research suggests that reading, editing, and navigating code encompasses significant cognitive effort beyond simply writing new code. And contrary to popular belief, most coding is maintenance coding, so comprehension is a significant overhead cost in the software development process.
We’ve found a variety of research focused on comprehension. While the details may differ, the significance of the effort in software development doesn’t.
Early Research Foundations
IBM started the Program Understanding Project at IBM's Research Division in 1986. Research by Thomas Corbi in 1989 found that more than half of the effort in accomplishing a task for the programmer is towards understanding the system.
Fjeldstad and Hamlen conducted research on software maintenance tasks and found that a significant portion of time, 47% for enhancement tasks and 62% for correction, is dedicated to understanding the existing code and documentation.
Fast forward a few decades, and the numbers hold steady or even increase:
Modern Research Validation
Fast forward a few decades, and the numbers hold steady or even increase. A research on program development concluded that programmers spent 70% of their time in program comprehension.
Specifically, it has been estimated that reading and understanding code consumes nearly 60% of a software professional’s time.
And we haven’t even addressed the time a developer may spend mentoring new developers, answering questions from business analysts, participating in knowledge-sharing meetings, or engaging in the myriad activities that rely on an understanding of what a company’s code does.
What would your developers do with the time they save by using COBOL Colleague?
How a Novel Approach to AI Mitigates the Need for Comments in Code
October 25, 2022
Code comments are often difficult to understand, incomplete, out of date and untrustworthy to many developers, resulting in significant additional work and unintended business risks. Incorrect documentation results in time and money lost. Transitioning away from relying on developers to add and update comments in code and related documentation requires new methods and tools.
Steve Brothers, President of Phase Change Software, recently addressed this challenge in his article: "How a Novel Approach to AI Mitigates the Need for Comments in Code." He explains how new AI technology can exponentially improve software development productivity by assisting new developers with identifying code behavior and locating the exact place in the code where changes are needed.
Stephen Tullos is an Analyst with Phase Change Software. You can reach him at stullos@phasechange.ai.