Title :
An empirical investigation of an object-oriented software system
Author :
Cartwright, Michelle ; Shepperd, Martin
Author_Institution :
Dept. of Comput., Bournemouth Univ., UK
fDate :
8/1/2000 12:00:00 AM
Abstract :
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
Keywords :
C++ language; object-oriented programming; software performance evaluation; telecommunication computing; C++ code; OO constructs; OO technology; Shlaer-Mellor method; defect densities; empirical investigation; industrial object oriented system; inheritance; inheritance structures; local prediction systems; local significance; measurement technology; object oriented software system; polymorphism; potential users; prediction systems; software developers; telecommunications product; Buildings; Computer industry; Computer languages; Java; Lab-on-a-chip; Large-scale systems; Particle measurements; Software measurement; Software systems; Testing;
Journal_Title :
Software Engineering, IEEE Transactions on