A framework for the design and verification of software measurement methods

https://doi.org/10.1016/j.jss.2007.07.038Get rights and content

Abstract

At the core of any engineering discipline is the use of measures, based on ISO standards or on widely recognized conventions, for the development and analysis of the artifacts produced by engineers. In the software domain, many alternatives have been proposed to measure the same attributes, but there is no consensus on a framework for how to analyze or choose among these measures. Furthermore, there is often not even a consensus on the characteristics of the attributes to be measured.

In this paper, a framework is proposed for a software measurement life cycle with a particular focus on the design phase of a software measure. The framework includes definitions of the verification criteria that can be used to understand the stages of software measurement design. This framework also integrates the different perspectives of existing measurement approaches. In addition to inputs from the software measurement literature the framework integrates the concepts and vocabulary of metrology. This metrological approach provides a clear definition of the concepts, as well as the activities and products, related to measurement. The aim is to give an integrated view, involving the practical side and the theoretical side, as well as the basic underlying concepts of measurement.

Introduction

Hundreds of software measures have been proposed in the software engineering literature for dozens of software attributes, including many alternative measures for the same attributes. However, understanding, classifying, evaluating and comparing them remains a challenge to both the industrial and the academic communities.

In the academic community, for example, there is no consensus on how to conduct an analysis of the measures proposed: that is, there is no recognized framework for doing so. Such a framework would allow researchers to carry out comparative studies of multiple alternative measures for measuring the same attributes, and then to publish their studies and recommendations so that industry has the necessary information on which to base their selection of a measurement method appropriate to their needs:

Some initial frameworks have been proposed (e.g. Fenton and Pfleeger, 1997, Jacquet et al., 1997, Kitchenham et al., 1995, Lopez et al., 2003, Schneidewind, 1992, Sellami et al., 2003, Weyuker, 1988, Zuse, 1999) to structure and/or to analyze measurement methods, as well as to discuss their validity issues. However, these frameworks all use different terminology. Our review highlights three needs:

  • the need to fix a unified vocabulary for the main measurement concepts and to relate it coherently to major literature sources;

  • the need to detail the very first phase of the measurement lifecycle, i.e. the design of a measurement method;

  • the need to derive verification criteria for software measures.

On the basis of the existing literature, this paper presents a general framework for software measurement which aims at responding to the above needs. The first contribution of this paper is to provide a comprehensive glossary which goes beyond a simple literature survey to put up a global view integrating theoretical and practical issues. The second contribution is to develop in details the phase of the design of a measurement method and thus to derive verification criteria related to such designs of measurement methods. The intended use of this framework is to provide a structured analysis framework for understanding and evaluating existing measurement methods documented in the literature and in use in industry.

The paper is organized as follows. Section 2 presents a unified vocabulary for key concepts in measurements, many of them adopted from the metrology domain. Section 3 presents some of the peculiarities of software that have to be taken into account when designing measures for software. Section 4 presents the design phase within the measurement life cycle. The different activities of that phase will be detailed in Sections 5 Measurement design: defining the measurement principle, 6 Measurement design: determining the measurement method, 7 Measurement design: determining the measurement procedure. Section 8 summarizes the products of the measurement design phase and Section 9 the verification activities related to it. A summary and a discussion are presented in Section 10.

Section snippets

Vocabulary and key concepts

Before presenting the activities involved in a measurement life cycle, it is necessary to provide definitions for the related concepts. We have tried to remain as close as possible to those that appear to be the most widely accepted, including outside of the software engineering community. In this section, the information is organized as follows: 2.1 Individual definitions; 2.2 Definitions for the mathematical view; 2.3 Definitions for the practical view.

Some peculiarities of Software engineering

Before developing the framework, some particular features of software engineering are highlighted. The goal is to stress the importance, in the software measurement domain, of the design phase for a measurement method.

The measurement design phase in the measurement life cycle

Following the decomposition of Jacquet et al. (1997), the measurement life cycle is decomposed into three successive phases which can be clearly distinguished. Fig. 2 depicts the three phases (the arrows in Fig. 2 indicate a causal influence from one phase to another).

The first is the design of the measurement as a whole. This includes the description of the whole measurement process viewed at the three stages described above: the measurement principle, the measurement method and the

Context

In the ISO metrology vocabulary (ISO VIM, 1993, ISO VIM, 2004), the measurement principle is defined as the phenomenon serving as the basis of a measurement. In mature disciplines, the output of this phase is the information obtained experimentally and referenced to well-established theories and laws, on top of which measurement methods have to be designed. For example, electricity theories define concepts (e.g. voltage, current, resistance and power inductance, capacitance, impedance) and

Measurement design: determining the measurement method

According to the representational view, measurement is considered to be, by definition, a mapping between the empirical world and the numerical world. A precise definition of those two worlds has been referred to as the measurement principle. A measurement method corresponds to a mapping between those two worlds.

Measurement design: determining the measurement procedure

According to the ISO metrology vocabulary of the ISO VIM, 1993, ISO VIM, 2004 a measurement procedure is defined as a detailed description of a measurement according to one or more measurement principles and to a given measurement method. This level of description corresponds to a yet more operational and more practical definition of how to map an empirical entity to its corresponding number.

For practical purposes, a measurement procedure corresponds to a measurement report which gives a

Measurement design products

The products associated with the design phase of measures are summarized below.

  • 1.

    The measurement principle: this is a precise definition of the entities concerned and the attribute to be measured. According to the representational approach of measurement (see, e.g., Fenton, 1994, Fenton and Pfleeger, 1997, Kitchenham et al., 1995), it involves a description of the empirical world and the numerical world to which the entities are to be mapped:

    • 1.a

      The empirical world can be described through conceptual

Measurement design: verification activities

The verification activities associated with this phase can now be listed according to the various design levels.

  • 1.

    Modeling the empirical world: at this level, one should ensure that the characteristics formulated for the empirical world actually represent the concept to be modeled, and that this representation is correct. The verification issues are:

    • 1.a

      On the one hand, one should be sure that the model built actually corresponds to the consensual representation of the domain practitioners have about

Conclusion

Based on the literature of the representative approach in software measurement, on the ISO International measurement concepts of metrology and on other concepts commonly found in the software engineering literature, a framework for the design of software measurement methods has been defined. The framework is aimed at giving a more comprehensive view, involving practical aspects represented by metrology concepts on the one hand, and theoretical aspects represented by the representational theory

Acknowledgement

This research project has been funded partially by the European Community’s Sixth Framework Programme – Marie Curie International Incoming Fellowship under Contract MIF1-CT-2006-039212.

References (44)

  • Abran, A., 1998a. Metrics validation proposals: A structured analysis. In: 8th International Workshop on Software...
  • Abran, A., 1998b. Software metrics need to mature into software metrology, NIST Workshop on Advancing Measurements and...
  • Abran, A., Sellami, A., Suryn, W., 2003. Metrology, Measurement and Metrics in Software Engineering. In: 9th...
  • Abran, A., Lopez, M., Habra, N., 2004. An analysis of the McCabe Cyclomatic complexity number. In: 12thInternational...
  • B. Boehm et al.

    Foundations of Empirical Software Engineering: The Legacy of Victor R. Basili

    (2005)
  • P. Chen

    The entity-relationship model – toward a unified view of data

    ACM Transactions on Database Systems

    (1976)
  • A. Endres et al.

    A Handbook of Software and Systems Engineering Empirical Observations, Laws, and Theories

    (2003)
  • N. Fenton

    Software measurement: a necessary scientific basis

    IEEE Transaction on Software Engineering

    (1994)
  • N. Fenton et al.

    Software Metrics – A rigorous and Practical Approach

    (1997)
  • Gagnon, M., Hébert, D., 2000. En quête de science: Introduction à l’Epistémologie (in French), Montréal, Éditions...
  • T.R. Gruber

    Toward Principles for the Design of Ontologies Used for Knowledge Sharing in Formal Ontology

  • ISO GUM, 1995. Guide to the expression of uncertainty in measurement (1993 amended 1995): published by ISO in the name...
  • Harel, D., Rumpe, B., 2000. Modeling Languages: Syntax, Semantics and All That Stuff, Technical Paper, No: MCS00-16,...
  • Habra, N., Vanderose, B., 2006. Measuring the Qualities of Software Design. In: 16th International Workshop on Software...
  • ISO/IEC 19761, 2003. Software Engineering, COSMIC-FFP – A Functional size measurement method. International Standards...
  • ISO/IEC 15939, 2002. Information Technology – Software Engineering – Software Measurement Process. International...
  • ISO/IEC 20968, 2001. MK II. Function Point Analysis: Counting Practices Manual, Software Metrics Association....
  • ISO/IEC 24570, 2001. NESMA Definitions and Counting Guidelines for the Application of Function Point Analysis: A...
  • ISO/IEC 20926, 2001. IFPUG Function Point Counting Practices Manual. International Organization for Standardization –...
  • ISO/IEC 14143, 2003. Information technology – Software measurement – Functional size measurement – Part 1: ISO-14143-1....
  • ISO/IEC 9126-1, 2001. Software Engineering – Product Quality – Part 1: Quality Model. International Organization for...
  • ISO/IEC TR 9126-2, 2003. Software Engineering – Product Quality – Part 2: External Metrics. International Organization...
  • Cited by (32)

    • Change impact analysis and changeability assessment for a change proposal: An empirical study

      2014, Journal of Systems and Software
      Citation Excerpt :

      In order to deal with a change proposal, some predictive measurement of its change ripples should be conducted. There have been a large amount of research work on the measurement and metrics for software development (Chidamber and Kemerer, 1994; Briand et al., 1999b; Gopal et al., 2002; Olague et al., 2007; Habra et al., 2008), but only a few on software maintenance (Bandi et al., 2003; Schneidewind, 2000). Accurate measurement is a prerequisite for all engineering disciplines, and software maintenance is no exception.

    • A decision support framework for metrics selection in goal-based measurement programs: GQM-DSFMS

      2013, Journal of Systems and Software
      Citation Excerpt :

      In addition to lack of measurement experts, there is no commonly agreed upon pre-defined set of metrics that organizations can utilize when selecting metrics. A number of studies such as Fenton (1994), Kitchenham et al. (1995), Habra et al. (2008), Fenton and Pfleeger (1997), and Wang (2003) investigated the theoretical and empirical validity of metrics. Recently, the results of a systematic literature review made to assess the trends and current status of software metrics, are presented in Kitchenham (2010).

    • Towards an accurate functional size measurement procedure for conceptual models in an MDA environment

      2010, Data and Knowledge Engineering
      Citation Excerpt :

      Since there is not consensus in the concepts and terminology used in the software measurement field, the concepts and terminology used in the design of OOmCFP have been carefully selected from the ISO VIM [30], ISO 14143 series [32,33] and ISO 19761 [34]. There exist some proposals defined to harmonize these concepts and provide a consistent terminology, such as the software measurement ontology (SMO) [20] and a framework for software measurement [25]. Both, the SMO and the framework are mainly based in the ISO VIM concepts.

    View all citing articles on Scopus
    View full text