Its objective is to make data available to decision makers in order to support the achievement of goals. The assessment is required to identify what most needs to be done. This identification leads to a set of goals, which are then used to identify a set of metrics specifically tailored for an organization. The conclusion is that it is not possible to identify in advance, the metrication needs of an organization. This thesis examines methods for the specification of software product metrics that allow the greatest possible generality in the implementation of the metrics.
Structural induction is examined as a means of defining models of software.
It imposes a structure on these models that can be used as a basis for the definition of functions over these models and is ultimately responsible for generality in the implementation of metrication tools. Two particular specification and implementation methods are examined. Attribute grammars can be used to specify software product metrics and a direct implementation is possible using compiler compiler technology. Abstract syntax can be used as a persistent intermediate form for metrication. The higher-order function takes other functions as parameters to evaluate particular metrics.