Program Comprehension – Three Techniques for Zeroing In

In the next few posts I’m going to cover in some detail three of the techniques that have been developed for zeroing in on functionality when maintaining programs.  I think these techniques are all potentially useful to RPG maintenance programmers who must maintain large, complex RPG programs on the AS/400, iSeries they are not totally familiar with: Program Slicing Concept Assignment Key Statement Analysis Program slicing is the process of slicing away portions of the program you are not concerned with.  The process usually begins once you have located a statement that sets a...

read more

What Happens During Software Maintenance? Program Comprehension Part 2

Source navigation and delocalization are key issues that researchers have focused on in the topic of program comprehension.  In developing vLegaci’s program comprehension tool, one of my concerns was the amount of time and mental overhead that go into finding a line or section of code.  For example: Finding a subroutine or procedure Finding what a variable is or where it is used Finding the END of an IF or DO, or visa-versa My own observation is that for maintenance programmers these searching activities consume a huge amount of time.  The more cumbersome of these...

read more

What Happens During Software Maintenance? Program Comprehension Part 1

What do programmers actually do and think about when they maintain software?  If we can get a good understanding of that perhaps we can improve the productivity and work quality of RPG programmers. This is a fairly large field of research, and has a number of subcategories.  One of the important categories is called Program Comprehension, i.e., what to do programmers do when they attempt to figure out a program they are not familiar with? If you’ve watched some traditional RPG developers engage in this activity with SEU, then one thing you would say they do is scroll, and search,...

read more

Does Documentation Help Maintenance?

One of the truisms of IT is that there’s never enough documentation.  But ask yourself, your scientific self, does documentation really help software maintenance, and if so, what kind exactly and how? These kinds of questions are very difficult to answer as it’s very difficult and costly to arrange controlled experiments.  Some researchers, however, have managed to execute at least small scale experiments and one such example was reported in “The Impact of UML Documentation on Software Maintenance: An Experimental Evaluation” ($) by Erik Arisholm, et al.   As is common in such...

read more