14th Working Conference on Reverse Engineering (WCRE 2007)
Examining the Effects of Global Data Usage on Software Maintainability
Vancouver, BC, Canada
October 28-October 31
ISBN: 0-7695-3034-6
As the useful life expectancy of software continues to increase, the task of maintaining the source code has be- come the dominant phase of the software life-cycle. In order to improve the ability of software to age and successfully evolve over time, it is important to identify system design and programming practices which may result in increasing the difficulty of maintaining the source code. This study attempts to correlate the use of global data to the maintainability of several widely deployed, large scale software projects as they evolve over time. Two measures are proposed to quantify the maintenance effort of a project. The first measure compares the number of CVS revisions for all source files in a release to the number of revisions applied to the files where the usage of global data is most prevalent. A second degree of change is characterized by contrasting the amount of source code that was changed overall with the changes made to those source files which contain the majority of the references to global data. We observed a statistically significant positive correla- tion between the number of file revisions to global variable references and lines of code changed to global variable ref- erences. In all cases the correlation between the number of revisions and global variable references was stronger. This provides evidence that global variable usage negatively im- pacts software maintainability by increasing both the num- ber and the extent of the changes required to accomplish a maintenance phase task.
Citation:
Jason W. A. Selby, Fraser P. Ruffell, Mark Giesbrecht, Michael W. Godfrey, "Examining the Effects of Global Data Usage on Software Maintainability," wcre, pp.60-69, 14th Working Conference on Reverse Engineering (WCRE 2007), 2007