Birgit Hofer, Dietmar Jannach, Patrick Koch, Konstantin Schekotihin, & Franz Wotawa
Software product metrics allow practitioners to improve their products and to optimize development processes based on quantifiable characteristics of source code. To facilitate similar benefits for spreadsheet programs, researchers proposed various product metrics for spreadsheets over the last decades. However, to our knowledge, no comprehensive overview of those efforts is currently available.
In this paper, we close this gap by conducting a literature review of research works that either inherently or explicitly define product metrics for spreadsheets. We scanned five major digital libraries for scientific papers that define or use spreadsheet product metrics. Based on the identified 37 papers, we created a novel catalog of product metrics for spreadsheets. The catalog can be used by practitioners and researchers as a central reference for spreadsheet product metrics.
In the paper, we (i) describe the proposed metrics in detail, (ii) report how often and for what purposes the metrics are used, (iii) identify significant discrepancies in the naming and definition of the metrics, and (iv) investigate how the appropriateness of the metrics was evaluated.
We defined the following five product metric categories to structure our catalog. Our categorization is based on organizing the metrics in terms of what they measure:
- Size Metrics. Measure the size of a spreadsheet or corpus, e.g., the number of cells with formulas.
- Coupling Metrics. Based on formula references, e.g., the number of cell references in a formula or the depth of computation chains.
- Formula Complexity Metrics. Based on formula attributes other than references, e.g., the depth of a formula's parse tree.
- Structure and Pattern-based Metrics. Based on inferred patterns, e.g., a structure in a worksheet that violates an established pattern and should therefore be refactored.
- Environment Functionality-based Metrics. Measure the level of use of particular features of individual spreadsheet tools, such as the incorporation of procedural code and specific libraries, or the use of cell formatting or protection features.
2021, The Journal of Systems & Software, Volume 175, May