Identifying High Maintenance Legacy Software
Amount of maintenance; Engineering applications; Maintenance cost drivers; Software evolution; Software metrics; Software usage
Legacy software maintenance is a significant cost item for many engineering organizations. This study is a preliminary report on work to investigate maintenance data, usage, and source code for legacy software used by an engineering design company to support a variety of functions, including electromagnetic, thermal, mechanical loading, vibration, and aerodynamic analysis. The results verify the applicability to legacy engineering software of previous research that concluded that size and structural metrics alone are not good indicators of high maintenance costs. Unlike previous research, the study also evaluates the effect of program usage on maintenance cost. Over the three-year period of this study of 71 legacy engineering programs, 11 of the programs (15%) accounted for 80% of all maintenance and 67% of all program runs. The highest maintenance programs were not always the largest programs or the worst structured programs. 49% of the programs accounted for only 1% of total maintenance but 42% of the total lines of code (LOC) thus invalidating LOC as an indicator for maintenance cost. While additional work is needed to validate these findings across other organizations and the other code sets, these preliminary results provide strong evidence that expected program usage can be a useful indicator of long-term maintenance cost.
Journal of Software Maintenance and Evolution
Number of Pages
Source API URL
Harrison, Matthew S. and Walton, Gwendolyn H., "Identifying High Maintenance Legacy Software" (2002). Scopus Export 2000s. 2412.