Analytical and Empirical Evaluation of Software Reuse Metrics
Melo, Walcelio L.
How much can be saved by using pre-existing (or somewhat modified) software components when developing new software systems? With the increasing adoption of reuse methods and technologies, this question becomes critical. However, directly tracking the actual cost savings due to reuse is difficult. A worthy goal would be to develop a method of measuring the savings indirectly by analyzing the code for reuse of components. The focus of this paper is to evaluate how well several published software reuse metrics measure the ``time, money and quality'' benefits of software reuse. We conduct this evaluation both analytically and empirically. On the analytic front, we first develop some properties that should arguably hold of any measure of ``time, money and quality'' benefit due to reuse. We assess several existing software reuse metrics using these properties. Empirically, we constructed a toolset (using GEN++) to gather data on all published reuse metrics from C++ code; then, using some productivity and quality data from ``nearly replicated'' student projects at the University of Maryland, we evaluate the relationship the known metrics and the process data. The results show that different reuse metrics can be used as predictors of different quality attributes, and suggest possible directions for improving the known measures. (Also cross-referenced as UMIACS-TR-95-82)