摘要

Software systems are subject to series of changes during their evolution as they move from one release to the next. The change histories of software systems hold useful information that describes how artifacts evolved. Evolution-based metrics, which are the means to quantify the change history, are potentially good indicators of the changes in a software system. The objective of this paper is to derive and validate (theoretically and empirically) a set of evolution-based metrics as potential indicators of the change-prone classes of an object-oriented system when moving from one release to the next. Release-by-release statistical prediction models were built in different ways. The results indicate that the proposed evolution-based metrics measure different dimensions from those of typical product metrics. Additionally, several evolution-based metrics were found to be correlated with the change-proneness of classes. Moreover, the results indicate that more accurate prediction of class change-proneness is achieved when the evolution-based metrics are combined with product metrics.