Applying software metrics to formal specifications : a cognitive approach.
It is generally accepted that failure to reason correctly during the early stages of software development causes developers to make incorrect decisions which can lead to the introduction of faults or anomalies in systems. Most key development decisions are usually made at the early system speci cation stage of a software pro- ject and developers do not receive feedback on their ac- curacy until near its completion. Software metrics are generally aimed at the coding or testing stages of devel- opment, however, when the repercussions of erroneous work have already been incurred. This paper presents a tentative model for predicting those parts of formal speci cations which are most likely to admit erroneous inferences, in order that potential sources of human er- ror may be reduced. The empirical data populating the model was generated during a series of cognitive experi- ments aimed at identifying linguistic properties of the Z notation which are prone to admit non-logical reasoning errors and biases in trained users.