Determinants of software volatility: a field study

  • Authors:
  • Xiaoni Zhang;John Windsor;Robert Pavur

  • Affiliations:
  • Northern Kentucky University, Highland Heights, KY;College of Business Administration, University of North Texas, Denton, TX;College of Business Administration, University of North Texas, Denton, TX

  • Venue:
  • Journal of Software Maintenance: Research and Practice
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although technology advances have provided new tools for maintaining software, maintenance costs remain the largest component of software life cycle cost. A basic factor claimed to be one of the driving factors in the cost of maintenance is software volatility. The objective of this research is to investigate the relationship between certain software attributes and software volatility. In this study, software volatility refers to the frequency or number of enhancements per unit of application over a specified time normalized. However, this metric is divided by the number of source lines of code (SLOC) to obtain a measure that takes into account the size of the software application. The research model is built on previous research concerning software volatility. Three factors are examined to determine their influence on software volatility normalized for SLOC: age, software complexity, and software complexity normalized for SLOC. In addition, we introduce the notion that mean time between software enhancements moderates the relationship of age, complexity, and complexity normalized for SLOC with software volatility. A field study at a major corporation allowed for the collection of data from a 13-year-time period. These data are used to empirically test the hypotheses presented in this study. As a moderator variable, mean time between enhancements significantly contributes to the explanatory power of a prediction model for software volatility adjusted for SLOC. Software administrators may wish to use the proposed model in their decision-making plans to control for software costs.