A Survey of Software Metrics

In this paper we present a survey on the research field of software metrics. We start by considering the reasons why measurement of software was introduced, then we describe what are the attributes of software and of the software process that are the objects of measurement. A general theory of measurement is presented that was first applied to software measurement by [Fenton 94]. The two types of metrics validation, empirical and theoretical, are discussed. Then a number of metrics for the different development phases is presented in details. We discuss function points for the requirements phase and the metrics for choesion and coupling defined in [Briand et al 94] for the design phase. For the implementation phase we describe the suite of metrics for OO designs by [Chidameber, Kemerer 94], Lines of Code [Conte et al. 86], Software Science [Halstead 75] and Cyclomatic Number [McCabe 76].