This paper presents the results of a study conducted at the University
of Maryland in which we experimentally investigated the suite of
Object-Oriented (OO) design metrics introduced by [Chidamber&Kemerer,
1994]. In order to do this, we assessed these metrics as predictors of
fault-prone classes. This study is complementary to [Li&Henry, 1993]
where the same suite of metrics had been used to assess frequencies of
maintenance changes to classes. To perform our validation accurately,
we collected data on the development of eight medium-sized information
management systems based on identical requirements. All eight projects
were developed using a sequential life cycle model, a well-known OO
analysis/design method and the C++ programming language. Based on
experimental results, the advantages and drawbacks of these OO metrics
are discussed. Several of Chidamber&Kemerer's OO metrics appear to be
useful to predict class fault-proneness during the early phases of the
life-cycle. We also showed that they are, on our data set, better
predictors than "traditional" code metrics, which can only be
collected at a later phase of the software development processes.
(Also cross-referenced as UMIACS-TR-95-40