The optimal class size for object-oriented software
El Emam, K.
Benlarbi, S.
Goel, N.
Melo, W.
Lounis, H.
Rai, S.N.
Inst. for Inf. Technol., Nat. Res. Council of Canada, Ottawa, Ont.;
This paper appears in: Software Engineering, IEEE Transactions on
Publication Date: May 2002
Volume: 28,
Issue: 5
On page(s): 494-509
ISSN: 0098-5589
References Cited: 50
CODEN: IESEDJ
INSPEC Accession Number: 7304178
Digital Object Identifier: 10.1109/TSE.2002.1000452
Current Version Published: 2002-08-07
Abstract
A growing body of literature suggests that there is an optimal
size for software components. This means that components that are too
small or too big will have a higher defect content (i.e., there is a
U-shaped curve relating defect content to size). The U-shaped curve has
become known as the "Goldilocks Conjecture." Recently, a cognitive
theory has been proposed to explain this phenomenon and it has been
expanded to characterize object-oriented software. This conjecture has
wide implications for software engineering practice. It suggests 1) that
designers should deliberately strive to design classes that are of the
optimal size, 2) that program decomposition is harmful, and 3) that
there exists a maximum (threshold) class size that should not be
exceeded to ensure fewer faults in the software. The purpose of the
current paper is to evaluate this conjecture for object-oriented
systems. We first demonstrate that the claims of an optimal
component/class size (1) above) and of smaller components/classes having
a greater defect content (2) above) are due to a mathematical artifact
in the analyses performed previously. We then empirically test the
threshold effect claims of this conjecture (3) above). To our knowledge,
the empirical test of size threshold effects for object-oriented systems
has not been performed thus far. We performed an initial study with an
industrial C++ system and repeated it twice on another C++ system and on
a commercial Java application. Our results provide unambiguous evidence
that there is no threshold effect of class size. We obtained the same
result for three systems using four different size measures. These
findings suggest that there is a simple continuous relationship between
class size and faults, and that, optimal class size, smaller classes are
better and threshold effects conjectures have no sound theoretical nor
empirical basis
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.