The Community for Technology Leaders
RSS Icon
Issue No.02 - March/April (2010 vol.27)
pp: 81-89
A. Gunes Koru , University of Maryland, Baltimore County
Khaled El Emam , University of Ottawa
Recent studies have repeatedly found that smaller modules are proportionally more defect-prone. In this article, the authors formulate and test a hypothesis stating that smaller modules are proportionally more coupled, given that dependencies caused by coupling have been consistently associated with defect-proneness. Strong evidence supports this hypothesis. Furthermore, refactoring exacerbates this effect. On the basis of this study's highly consistent results, the authors state the empirically based theory of relative dependency. That is, in large-scale software systems, smaller modules will be proportionally more dependent compared to larger ones. These findings have two implications for practice. First, we now have an empirically supported mechanism explaining the observations that defect concentration is higher in smaller modules. Practitioners can use this mechanism as evidence while seeking resources and support to revise or amend their organizations' quality assurance and quality control practices. Second, particularly for the projects that refactor extensively, such as those using agile methods, focusing defect detection activities on smaller modules will increase their efficiency and effectiveness even more.
software metrics and measurement, product metrics, software science, restructuring, reverse engineering, software maintainability, software quality, SQA, software quality assurance, validation and verification, software engineering
A. Gunes Koru, Khaled El Emam, "The Theory of Relative Dependency: Higher Coupling Concentration in Smaller Modules", IEEE Software, vol.27, no. 2, pp. 81-89, March/April 2010, doi:10.1109/MS.2009.118
1. A.G. Koru et al., "Theory of Relative Defect Proneness," Empirical Software Eng., vol. 13, no. 5, 2008, pp. 473–498.
2. A.G. Koru et al., "An Investigation into the Functional Form of the Size-Defect Relationship for Software Modules," IEEE Trans. Software Eng., vol. 35, no. 2, 2009, pp. 293–304.
3. A.G. Koru et al., "Testing the Theory of Relative Defect Proneness for Closed-Source Software," to be published in Empirical Software Eng.
4. K. El Emam et al., "The Optimal Class Size for Object-Oriented Software," IEEE Trans. Software Eng., vol. 28, no. 5, 2002, pp. 494–509.
5. N. Fenton and S.L. Pfleeger, Software Metrics: A Rigorous and Practical Approach 2nd ed., PWS Publishing, 1996.
6. J.H. Hayes et al., "Fault Links: Exploring the Relationship between Module and Fault Types," Dependable Computing—EDCC 2005, LNCS 3463, Springer, 2005, pp. 415–434.
7. D.E. Perry, "Programmer Productivity in the Inscape Environment," Proc. IEEE Global Communications Conf. (Globecom 86), IEEE Press, 1986, pp. 428–434.
8. D.E. Perry and W.M. Evangelist, "An Empirical Study of Software Interface Errors," Proc. IEEE Int'l Symp. New Directions in Computing, IEEE Press, 1985, pp. 32–38.
9. D.E. Perry and W.M. Evangelist, "An Empirical Study of Software Interface Faults—an Update," Proc. 20th Ann. Hawaii Int'l Conf. Systems Sciences (HICSS 20), IEEE Press, 1987, pp. 113–126.
10. D.E. Perry and C.S. Stieg, "Software Faults in Evolving a Large, Real-Time System: A Case Study," Proc. 4th European Conf. Software Eng., Springer, 1993, pp. 48–67.
11. L.C. Briand et al., "Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems," J. Systems and Software, vol. 51, no. 3, 2000, pp. 245–273.
12. K. El Emam et al., "The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics," IEEE Trans. Software Eng., vol. 27, no. 7, 2001, pp. 630–650.
13. T. Gyimothy, R. Ferenc, and I. Siket, "Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction," IEEE Trans. Software Eng., vol. 31, no. 10, 2005, pp. 897–910.
14. S.R. Chidamber, D.P. Darcy, and C.F. Kemerer, "Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis," IEEE Trans. Software Eng., vol. 248, no. 1998, pp. 629–639.
15. M. Fowler et al., Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional, 1999.
16. Y. Kataoka et al., "A Quantitative Evaluation of Maintainability Enhancement by Refactoring," Proc. IEEE Int'l Conf. Software Maintenance, IEEE CS Press, 2002, pp. 576–585.
17. M. Mäntylä, J. Vanhanen, and C. Lassenius, "A Taxonomy and an Initial Empirical Study of Bad Smells in Code," Proc. IEEE Int'l Conf. Software Maintenance, IEEE CS Press, 2003, pp. 381–384.
18. K. Beck, Extreme Programming Explained: Embrace Change, Addison-Wesley, 2000.
22 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool