Abstract Software metrics have been used to measure software artifacts statically—measurements are taken after the artifacts are created. In this study, three metrics—System Design Instability (SDI), Class Implementation Instability (CII), and System Implementation Instability (SII)—are used for the purpose of measuring object-oriented (OO) software evolution. The metrics are used to track the evolution of an OO system in an empirical study. We found that once an OO project starts, the metrics can give good indications of project progress, e.g. how mature the design and implementation is. This information can be used to adjust the project plan in real time. We also performed a study of design instability that examines how the implementation of a class can affect its design. This study determines that some aspects of OO design are independent of implementation, while other aspects are dependent on implementation.
[1]
Wei Li,et al.
Another metric suite for object-oriented programming
,
1998,
J. Syst. Softw..
[2]
Sallie M. Henry,et al.
Object-oriented metrics that predict maintainability
,
1993,
J. Syst. Softw..
[3]
Grady Booch,et al.
Object-Oriented Analysis and Design with Applications
,
1990
.
[4]
Anas N. Al-Rabadi,et al.
A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions
,
2004
.
[5]
Sallie M. Henry,et al.
Predicting source-code complexity at the design stage
,
1990,
IEEE Software.
[6]
Chris F. Kemerer,et al.
A Metrics Suite for Object Oriented Design
,
2015,
IEEE Trans. Software Eng..
[7]
Wei Li.
An empirical study of software reuse in reconstructive maintenance
,
1997
.