An empirical investigation of an object-oriented software system

M Cartwright, M Shepperd - IEEE Transactions on software …, 2000 - ieeexplore.ieee.org
M Cartwright, M Shepperd
IEEE Transactions on software engineering, 2000ieeexplore.ieee.org
The paper describes an empirical investigation into an industrial object oriented (OO)
system comprised of 133000 lines of C++. The system was a subsystem of a
telecommunications product and was developed using the Shlaer-Mellor method (S. Shlaer
and SJ Mellor, 1988; 1992). From this study, we found that there was little use of OO
constructs such as inheritance, and therefore polymorphism. It was also found that there was
a significant difference in the defect densities between those classes that participated in …
The paper describes an empirical investigation into an industrial object oriented (OO) system comprised of 133000 lines of C++. The system was a subsystem of a telecommunications product and was developed using the Shlaer-Mellor method (S. Shlaer and S.J. Mellor, 1988; 1992). From this study, we found that there was little use of OO constructs such as inheritance, and therefore polymorphism. It was also found that there was a significant difference in the defect densities between those 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 defects based upon simple counts such as the number of states and events per class. Although these prediction systems are only likely to have local significance, there is a more general principle that software developers can consider building their own local prediction systems. Moreover, we believe this 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.
ieeexplore.ieee.org