An empirical analysis of threshold techniques for identifying faulty classes in object oriented software systems

##plugins.themes.academic_pro.article.main##

Navneet Kaur
Hardeep Singh

Abstract

The fault-proneness prediction is one of the extensively researched areas in the Software Engineering domain to ameliorate the software quality and to lowers the testing expenses. The existing literature has proved the presence of large amount of work attained the statistical validation of software metrics by utilizing them in the development of fault prediction models, where, both statistical and machine learning techniques were engaged into the construction of the models being capable of identifying faulty and non-faulty classes. On the contrary, the research area involving the investigation of threshold concept has not gained sufficient maturity. An effective threshold technique can assist in the identification of optimal cut-off values of the software metrics which can discriminate the faulty from non-faulty classes with minimal misclassification rate. The idea of threshold calculation can make the application of the existing metrics in software industries, a much easier task. As the developers only need to know the cut-off values which can help them to concentrate on the specific classes that exceeds the computed thresholds. Also, the presence of peculiarity in the software metric index can alert the testers and in turn helps them to disburse the resources systematically. The current study empirically validated and compared the discriminating strength of two threshold techniques, i.e., ROC curve and Alves Rankings, on the publicly available dataset. This study selected twenty object oriented measures for the process of threshold calculation. Furthermore, Wilcoxon signed rank test was used to enquire the classification difference between the aforementioned threshold techniques. The outcome from the statistical analysis revealed the better predictive capability of ROC curve than the Alves Rankings.

##plugins.themes.academic_pro.article.details##

How to Cite
Navneet Kaur, & Hardeep Singh. (2020). An empirical analysis of threshold techniques for identifying faulty classes in object oriented software systems. International Journal of Next-Generation Computing, 11(3), 281–308. https://doi.org/10.47164/ijngc.v11i3.184

References

  1. Aggarwal, K., Singh, Y., and Malhotra, R. 2007. Investigating effect of design metrics on fault proneness in object-oriented systems. Journal of Object Technology Vol.6, No.10, pp.127–141.
  2. Alves, T. L., Ypma, C., and Visser, J. 2010. Deriving metric thresholds from benchmark data. In IEEE International Conference on Software Maintenance.
  3. A.M.Ferreira, A.S.Bigonha, M., S.Bigonha, R., F.O.Mendes, L., and C.Almeida, H. 2012. Identifying thresholds for object-oriented software metrics. The Journal of Systems and Software Vol.85, No.2, pp.244–257.
  4. Arar, O. F. and Ayan, K. 2016. Deriving thresholds of software metrics to predict faults on open source software: Replicated case studies. Expert Systems with Applications Vol.61, pp.106–121.
  5. Bansiya, J. and Davis, C. 2002. A hierarchical model for object-oriented design quality as- sessment. IEEE Transactions on Software Engineering Vol.28, No.1, pp.4–17.
  6. Basili, V., Briand, L., and Melo, W. 1996. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering Vol.22, No.10, pp.751–761.
  7. Bender, R. 1999. Quantitative risk assessment in epidemiological studies investigating threshold effects. Biometrical Journal, Vol.41, No.3, pp.305–319.
  8. Boucher, A. and Badri, M. 2017. Software metrics thresholds calculation techniques to predict fault-proneness: An empirical comparison. Information and Software Technology Vol.96, pp.38–67.
  9. Chidamber, S. and Kemerer, C. 1994. A metrics suite for object oriented design. IEEE Transactions on Software Engineering Vol.20, No.6, pp.476–493.
  10. Demsar, J. 2006. Statistical comparisons of classifiers over multiple data sets. Biometrical Journal Vol.7, No.1, pp.1–30.
  11. Elish, M. O. 2012. A comparative study of fault density prediction in aspect-oriented systems using mlp, rbf, knn, rt, denfis and svr models. Artificial Intelligence Review Vol.42, No.4, pp.695703.
  12. Erdreich, L. S. and Lee, E. T. 1981. Use of relative operating characteristic analysis in epidemiology: A method for dealing with subjective judgement. American Journal of Epidemiology Vol.114, No.5, pp.649–662.
  13. Erni, K. and Lewerentz, C. 1996. Applying design-metrics to object-oriented frameworks.
  14. French, V. 1999. Establishing software metric thresholds.
  15. Halstead, M. 1977. Elements of software science. Elsevier Science.
  16. Henderson-Sellers, B. 1996. Software metrics. WG Sales.
  17. Jiang, Y., Cukic, B., and Ma, Y. 2008. Techniques for evaluating fault prediction models.
  18. Empirical Software Engineering Vol.13, No.5, pp.561595.
  19. Kaur, A. and Malhotra, R. 2008. Application of random forest in predicting fault-prone classes.
  20. Khoshgoftaar, T., Gao, K., and Szabo, R. 2001. An application of zero-inflated poisson regression for software fault prediction.
  21. Kubat, M. and Matwin, S. 1997. Addressing the curse of imbalanced training sets: one-sided selection. Icml Vol. 97, pp.179–186.
  22. Kumar, L., Misra, S., and Rath, S. K. 2017. An empirical analysis of the effectiveness of software metrics and fault prediction model for identifying faulty classes. Computer Standards and Interface Vol.53, pp.1–32.
  23. lLov Kumar, Sripada, S. K., Sureka, A., and Rath, S. K. 2018. Effective fault prediction model developed using least square support vector machine (lssvm). Journal of Systems and Software Vol.137, pp.686712.
  24. Mahajan, R., KumarGupta, S., and Bedi, R. K. 2015. Design of software fault prediction model using br technique. Procedia Computer Science Vol.46, pp.849–858.
  25. Malhotra, R. and Bansal, A. J. 2015. Fault prediction considering threshold effects of object-oriented metrics. Expert Systems Vol.32, No.2, pp.203–219.
  26. Malhotra, R. and Jain, A. 2012. Fault prediction using statistical and machine learning meth- ods for improving software quality. Journal of Information Processing Systems Vol.8, No.2, pp.241–262.
  27. Malhotra, R., Kaur, A., and Singh, Y. 2011. Empirical validation of object-oriented met- rics for predicting fault proneness at different severity levels using support vector machines. International Journal of System Assurance Engineering and Management Vol.1, No.3, pp.269–281.
  28. Malhotra, R. and Singh, Y. 2011. On the applicability of machine learning techniques for object oriented software fault prediction. Software Engineering: An International Jour- nal Vol.1, No.1, pp.24–27.
  29. Martin., R. 1994. Object-oriented design quality metrics an analysis of dependencies. Object- Oriented, Proceedings of Workshop Pragmatic and Theoretical Directions in Software Met- rics.
  30. McCabe, T. J. 1976. A complexity measure. IEEE Transactions on Software Engineering No.4, pp.308–320.
  31. Nejmeh, B. A. 1988. Npath a measure of execution path complexity and its applications.
  32. Communications of the ACM Vol.31, No.2, pp.188–200.
  33. Ostrand, T., Weyuker, E., and Bell, R. 2005. Predicting the location and number of faults in large software systems. IEEE Transactions on Software Engineering Vol.31, No.4, pp.340 – 355.
  34. Radjenovi, D., Heriko, M., Torkar, R., and ivkovi, A. 2013. Software fault prediction metrics: A systematic literature review. Information and Software Technology Vol.55, No.8, pp.1397–1418.
  35. Rajaraman, C. and Lyu, M. R. 1992. Reliability and maintainability related software coupling metrics in c++ programs. In Proceedings International Symposium on Software Reliability Engineering (ISSRE).
  36. Rosenberg, L. H. and Hyatt, L. E. 1997. Software quality metrics for object-oriented envi- ronments. Crosstalk Journal Vol.10, No.4, pp.1–6.
  37. Shatnawi, R. 2010. 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.
  38. Shatnawi, R. 2015. Deriving metrics thresholds using log transformation. Journal of Software: Evolution and Process Vol.27, No.2, pp.95–113.
  39. Shatnawi, R., Li, W., Swain, J., and Newmani, T. 2010. Finding software metrics threshold values using roc curves. Journal of software maintenance and evolution: Research and practice Vol.22, No.1, pp.1–16.
  40. Singh, S. and Kahlon, K. S. 2014. Object oriented software metrics threshold values at quantitative acceptable risk level. CSI Transactions on ICT Vol.2, pp.191–205.
  41. Tang, M.-H., Kao, M.-H., and Chen, M.-H. 1999. An empirical study on object-oriented metrics.
  42. Thwin, M. M. T. and Quah, T.-S. 2002. Application of neural network for predicting software development faults using object-oriented design metrics.
  43. Van Koten, C. and Gray, A. 2006. An application of bayesian network for predicting object- oriented software maintainability. Information and Software Technology Vol.48, No.1, pp.59–67.
  44. Youden, W. J. 1950. Index for rating diagnostic tests. Cancer Vol.3, No.1, pp.32–35.
  45. Zar, J. H. 1999. Biostatistical analysis. Pearson Education India.