Deriving Measures of Software Reuse in Object Oriented Systems

The analysis and measurement of current levels of software reuse are necessary to monitor improvements. This paper provides a framework for the derivation of measures of software reuse and introduces several definitions, attributes, and abstractions of potentially measurable reuse properties. The framework is applied to the problem of measuring reuse in object oriented systems which support “leveraged” reuse through inheritance. I describe the importance of the perspective of the observer when analyzing, measuring, and profiling reuse. Three perspectives are examined: the server perspective, the client perspective, and the system perspective. Candidate reuse metrics are proposed from each perspective.