i-nth logo

Authors

Andrej Bregar

Abstract

Several complexity metrics are described which are related to logic structure, data structure and size of spreadsheet models.

They primarily concentrate on the dispersion of cell references and cell paths. Most metrics are newly defined, while some are adapted from traditional software engineering. Their purpose is the identification of cells which are liable to errors.

In addition, they can be used to estimate the values of dependent process metrics, such as the development duration and effort, and especially to adjust the cell error rate in accordance with the contents of each individual cell, in order to accurately asses the reliability of a model.

Finally, two conceptual constructs – the reference branching condition cell and the condition block – are discussed, aiming at improving the reliability, modifiability, auditability and comprehensibility of logical tests.

Sample

Summary of metrics with regard to usage
Summary of metrics with regard to usage

The formula size and structure metrics are mostly adapted from traditional software engineering. They comprise measurements of logic structure, because tests and branches are possible only within individual formulas.

Since there can be no loops, a sensible metric is the decision count. It is the number of simple conditions – conjunction and disjunction predicates – within one formula.

An important complexity factor is represented by the nesting levels of formula operators and operands. Nesting occurs, because each function operand can be a result of another function. Two metrics can be defined: the depth of nesting and the average nesting level.

Publication

2004, EuSpRIG

Full article

Complexity metrics for spreadsheet models