This paper describes an empirical investigation into an industrial object-o
riented (OO) system comprised of 133,000 lines of C++. The system was a sub
system of a telecommunications product and was developed using the Shlaer-M
ellor method. From this study, we found that there was little use of OO con
structs such as inheritance and, therefore, polymorphism. It was also found
that there was a significant difference in the defect densities between th
ose classes that participated in inheritance structures and those that did
not, with the former being approximately three times more defect-prone. We
were able to construct useful prediction systems for size and number of def
ects based upon simple counts such as the number of states and events per c
lass. Although these prediction systems are only likely to have local signi
ficance, there is a more general principle that software developers can con
sider building their own local prediction systems. Moreover, we believe thi
s is possible, even in the absence of the suites of metrics that have been
advocated by researchers into OO technology. As a consequence, measurement
technology may be accessible to a wider group of potential users.