The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - March/April (2010 vol.36)
pp: 216-225
Raed Shatnawi , Jordan University of Science and Technology, Irbid
ABSTRACT
Object-oriented metrics have been validated empirically as measures of design complexity. These metrics can be used to mitigate potential problems in the software complexity. However, there are few studies that were conducted to formulate the guidelines, represented as threshold values, to interpret the complexity of the software design using metrics. Classes can be clustered into low and high risk levels using threshold values. In this paper, we use a statistical model, derived from the logistic regression, to identify threshold values for the Chidamber and Kemerer (CK) metrics. The methodology is validated empirically on a large open-source system—the Eclipse project. The empirical results indicate that the CK metrics have threshold effects at various risk levels. We have validated the use of these thresholds on the next release of the Eclipse project—Version 2.1—using decision trees. In addition, the selected threshold values were more accurate than those were selected based on either intuitive perspectives or on data distribution parameters. Furthermore, the proposed model can be exploited to find the risk level for an arbitrary threshold value. These findings suggest that there is a relationship between risk levels and object-oriented metrics and that risk levels can be used to identify threshold effects.
INDEX TERMS
Object-oriented programming, product metrics, CK metrics, threshold values, open-source software.
CITATION
Raed Shatnawi, "A Quantitative Investigation of the Acceptable Risk Levels of Object-Oriented Metrics in Open-Source Systems", IEEE Transactions on Software Engineering, vol.36, no. 2, pp. 216-225, March/April 2010, doi:10.1109/TSE.2010.9
REFERENCES
[1] S. Chidamber and C.F. Kemerer, "A Metrics Suite for Object-Oriented Design," IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, June 1994.
[2] L. Briand, J. Daly, and J. Wust, "A Unified Framework for Coupling Measurement in Object-Oriented Systems," IEEE Trans. Software Eng., vol. 25, no. 1, pp. 91-121, Jan./Feb. 1999.
[3] W. Li, "Another Metrics Suite for Object-Oriented Programming," J. Systems and Software, vol. 44, no. 2, pp. 155-162, 1998.
[4] M. Lorenz and J. Kidd, Object-Oriented Software Metrics. Prentice Hall, 1994.
[5] D.P. Darcy and C.F. Kemerer, "OO Metrics in Practice," IEEE Software, vol. 22, no. 6, pp. 17-19, Nov./Dec. 2005.
[6] M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts, Refactoring: Improving the Design of Existing Code. Addison Wesley, 2000.
[7] A. Sorkowitz, "Using Metrics to Improve Maintenance Testing," Proc. 21st IEEE Int'l Conf. Software Maintenance, p. 725, 2005.
[8] F. Brito e Abreu and R. Caruba, "Candidate Metrics for Object-Oriented Software within a Taxonomy Framework," J. Systems and Software, vol. 26, no. 1, pp. 87-96, 1994.
[9] V. Basili, L. Briand, and W. Melo, "A Validation of Object-Oriented Design Metrics as Quality Indicators," IEEE Trans. Software Eng., vol. 22, no. 10, pp. 751-761, Oct. 1996.
[10] S. Chidamber, D. Darcy, and C. Kemerer, "Managerial Use of Metrics for Object Oriented Software: An Exploratory Analysis," IEEE Trans. Software Eng., vol. 24, no. 8, pp. 629-639, Aug. 1998.
[11] L. Briand, J. Wust, J. Daly, and D. Porter, "Exploring the Relationship between Design Measures and Software Quality in Object Oriented Systems," J. Systems and Software, vol. 51, no. 3, pp. 245-273, 2000.
[12] R. Subramanyam and M. Krishnan, "Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects," IEEE Trans. Software Eng, vol. 29, no. 4, pp. 297-310, Apr. 2003.
[13] Y. Zhou and H. Leung, "Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults," IEEE Trans. Software Eng, vol. 32, no. 10, pp. 771-789, Oct. 2006.
[14] 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, pp. 897-910, Oct. 2005.
[15] H. Olague, L. Etzkorn, S. Gholston, and S. Quattlebaum, "Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile Software Development Processes," IEEE Trans. Software Eng, vol. 33, no. 8, pp. 402-419, June 2007.
[16] R. Shatnawi and W. Li, "The Effectiveness of Software Metrics in Identifying Error-Prone Classes in Post-Release Software Evolution Process," J. Systems and Software, vol. 81, no. 11, pp. 1868-1882, 2008.
[17] R. Szabo and T. Khoshgoftaar, "An Assessment of Software Quality in a C++ Environment," Proc. Sixth Int'l Symp. Software Reliability Eng., pp. 240-249, 1995.
[18] T. Khoshgoftaar and N. Seliya, "Comparative Assessment of Software Quality Classification Techniques: An Empirical Case Study," Empirical Software Eng., vol. 9, no. 3, pp. 229-257, 2004.
[19] R. Gronback, "Software Remodeling: Improving Design and Implementation Quality Using Audits, Metrics and Refactoring in Borland Together Control Center," a Borland white paper, Jan. 2003.
[20] Krakatau Tool Website, http:/www.powersoftware.com/, 2010.
[21] W. Li and R. Shatnawi, "An Empirical Study of the Bad Smells and Errors in Object-Oriented Design," J. Systems and Software, vol. 80, no. 7, pp. 1120-1128, 2007.
[22] R. Bender, "Quantitative Risk Assessment in Epidemiological Studies Investigating Threshold Effects," Biometrical J., vol. 41, no. 3, pp. 305-319, 1999.
[23] L. Rosenberg, "Metrics for Object-Oriented Environment," Proc. EFAITP/AIE Third Ann. Software Metrics Conf., 1997.
[24] M. Cartwright and M. Shepperd, "An Empirical Investigation of an Object-Oriented Software System," IEEE Trans. Software Eng., vol. 26, no. 8, pp. 786-796, Aug. 2000.
[25] K. El Emam, S. Benlarbi, N. Goel, and S.N. Rai, "The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics," IEEE Trans. Software Eng., vol. 27, no. 7, pp. 630-648, July 2001.
[26] M.H. Tang, M.H. Kao, and M.H. Chen, "An Empirical Study on Object-Oriented Metrics," Proc. Sixth Int'l Symp. Software Metrics, pp. 242-249, 1999.
[27] L. Briand, J. Wüst, and H. Lounis, "Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs," Empirical Software Eng., vol. 6, no. 1, pp. 11-58, 2001.
[28] K. El Emam, W. Melo, and J. Machado, "The Prediction of Faulty Classes Using Object-Oriented Design Metrics," J. Systems and Software, vol. 56, no. 1, pp. 63-75, 2001.
[29] P. Yu, T. Systa, and H. Muller, "Predicting Fault-Proneness Using OO Metrics," Proc. Sixth European Conf. Software Maintenance and Reeng., pp. 99-107, 2002.
[30] K.K. Aggarwal, Y. Singh, A. Kaur, and R. Malhotra, "Empirical Analysis for Investigating the Effect of Object-Oriented Metrics on Fault Proneness: A Replicated Case Study," Software Process Improvement and Practice, vol. 14, no. 1, pp. 39-62, 2009.
[31] B. Henderson-Sellers, Object-Oriented Metrics: Measures of Complexity. Prentice Hall, 1996.
[32] W. Li, L. Etzkorn, C. Davis, and J. Talburt, "An Empirical Study of Object-Oriented System Evolution," Information and Software Technology, vol. 42, no. 6, pp. 373-381, 2000.
[33] L.H. Rosenberg, "Applying and Interpreting Object-Oriented Metrics," Proc. Software Technology Conf., satc.gsfc.nasa.gov/support/STC_APR98/apply_oo apply_oo.html, Apr. 1998.
[34] K. Erni and C. Lewerentz, "Applying Design-Metrics to Object-Oriented Frameworks," Proc. Third Int'l Software Metrics Symp., pp. 64-74, 1996.
[35] J. Daly, A. Brooks, J. Miller, M. Roper, and M. Wood, "Evaluating Inheritance Depth on the Maintainability of Object-Oriented Software," Empirical Software Eng. vol. 1, no. 2, pp. 109-132, 1996.
[36] M. Cartwright, "An Empirical View of Inheritance," Information and Software Technology, vol. 40, no. 14, pp. 795-799, 1998.
[37] L. Prechelt, B. Unger, M. Philippsen, and W. Tichy, "A Controlled Experiment on Inheritance Depth as a Cost Factor for Code Maintenance," J. Systems and Software, vol. 65, no. 2, pp. 115-126, 2003.
[38] R. Harrison, S. Counsell, and R. Nithi, "Experimental Assessment of the Effect of Inheritance on the Maintainability of Object-Oriented Systems," J. Systems and Software, vol. 52, nos. 2/3, pp. 173-179, 2000.
[39] S. Benlarbi, K. El Emam, N. Goel, and S. Rai, "Thresholds for Object-Oriented Measures," Proc. 11th Int'l Symp. Software Reliability Eng., pp. 24-38, 2000.
[40] K. El Emam, S. Benlarbi, N. Goel, W. Melo, H. Lounis, and S.N. Rai, "The Optimal Class Size for Object-Oriented Software," IEEE Trans. Software Eng., vol. 28, no. 5, pp. 494-509, May 2002.
[41] K. Ulm, "A Statistical Method for Assessing a Threshold in Epidemiological Studies," Statistics in Medicine, vol. 10, no. 3, pp. 341-349, 1991.
[42] The Eclipse Home Page, http:/www.eclipse.org, 2004.
[43] Y. Ma and B. Cukic, "Adequate and Precise Evaluation of Quality Models in Software Engineering Studies," Proc. Int'l Workshop Predictor Models in Software Eng., p. 1, 2007.
[44] J. Van Hulse, T.M. Khoshgoftaar, and A. Napolitano, "Experimental Perspectives on Learning from Imbalanced Data," Proc. 24th Int'l Conf. Machine Learning, 2007.
[45] S. Chidamber, D. Darcy, and C. Kemerer, "Managerial Use of Metrics for Object Oriented Software: An Exploratory Analysis," IEEE Trans. Software Eng., vol. 24, no. 8, pp. 629-639, Aug. 1998.
[46] D. Hosmer and S. Lemeshow, Applied Logistic Regression, second ed. Wiley-Interscience Publication, 2000.
[47] N.V. Chawla, "C4.5 and Imbalanced Data Sets: Investigating the Effect of Sampling Method, Probabilistic Estimate, and Decision Tree Structure," Proc. Workshop Learning from Imbalanced Data-Sets II, 2003.
[48] M. Kubat and S. Matwin, "Addressing the Curse of Imbalanced Training Sets: One-Sided Selection," Proc. 14th Int'l Conf. Machine Learning, pp. 179-186, 1997.
[49] J.S. Sherif and P. Sanderson, "Metrics for Object-Oriented Software Projects," J. Systems and Software, vol. 44, no. 2, pp. 147-154, 1998.
32 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool