Title :
Examining the Effects of Global Data Usage on Software Maintainability
Author :
Selby, Jason W A ; Ruffell, Fraser P. ; Giesbrecht, Mark ; Godfrey, Michael W.
Author_Institution :
Univ. of Waterloo, Waterloo
Abstract :
As the useful life expectancy of software continues to increase, the task of maintaining the source code has become 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 correlation between the number of file revisions to global variable references and lines of code changed to global variable references. In all cases the correlation between the number of revisions and global variable references was stronger. This provides evidence that global variable usage negatively impacts software maintainability by increasing both the number and the extent of the changes required to accomplish a maintenance phase task.
Keywords :
configuration management; software maintenance; software prototyping; concurrent versions system; global variable references; global variable usage data; software life expectancy; software life-cycle; software maintainability; source code; Computer science; Councils; Documentation; Hydrogen; Joining processes; Large-scale systems; Pollution measurement; Software maintenance; Software quality; Software systems;
Conference_Titel :
Reverse Engineering, 2007. WCRE 2007. 14th Working Conference on
Conference_Location :
Vancouver, BC
Print_ISBN :
978-0-7695-3034-5
DOI :
10.1109/WCRE.2007.27