The Community for Technology Leaders
Green Image
Issue No. 02 - March/April (2009 vol. 35)
ISSN: 0098-5589
pp: 293-304
Khaled El Emam , University of Ottawa, Ottawa
Dongsong Zhang , University of Maryland Baltimore County, Baltimore
A. Güneş Koru , University of Maryland Baltimore County, Baltimore
Hongfang Liu , Georgetown University, Washington
ABSTRACT
The importance of the relationship between the size and defect proneness of software modules is well recognized. Understanding the nature of that relationship can facilitate various development decisions related to prioritization of quality assurance activities. Overall, the previous research only drew a general conclusion that there was a monotonically increasing relationship between module size and defect proneness. In this study, we analyzed class-level size and defect data in order to increase our understanding of this crucial relationship. We studied four large-scale object-oriented products, Mozilla, Cn3d, JBoss, and Eclipse. We observed that defect proneness increased as class size increased, but at a slower rate; smaller classes were proportionally more problematic than larger classes. Therefore, practitioners should consider giving higher priority to smaller modules when planning focused quality assurance activities with limited resources. For example, in Mozilla and Eclipse, an inspection strategy investing 80 percent of available resources on 100-LOC classes and the rest on 1,000-LOC classes would be more than twice as cost-effective as the opposite strategy. These results should be immediately useful to guide focused quality-assurance activities in large-scale software projects.
INDEX TERMS
Software science, Product metrics, Planning for SQA and Measurement applied to SQA and Software Quality/SQA, Software Engineering, Software/Software Engin, Open-source software
CITATION
Khaled El Emam, Dongsong Zhang, A. Güneş Koru, Hongfang Liu, "An Investigation into the Functional Form of the Size-Defect Relationship for Software Modules", IEEE Transactions on Software Engineering, vol. 35, no. , pp. 293-304, March/April 2009, doi:10.1109/TSE.2008.90
94 ms
(Ver )