全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

Statistical and Machine Learning Methods for Software Fault Prediction Using CK Metric Suite: A Comparative Analysis

DOI: 10.1155/2014/251083

Full-Text   Cite this paper   Add to My Lib

Abstract:

Experimental validation of software metrics in fault prediction for object-oriented methods using statistical and machine learning methods is necessary. By the process of validation the quality of software product in a software organization is ensured. Object-oriented metrics play a crucial role in predicting faults. This paper examines the application of linear regression, logistic regression, and artificial neural network methods for software fault prediction using Chidamber and Kemerer (CK) metrics. Here, fault is considered as dependent variable and CK metric suite as independent variables. Statistical methods such as linear regression, logistic regression, and machine learning methods such as neural network (and its different forms) are being applied for detecting faults associated with the classes. The comparison approach was applied for a case study, that is, Apache integration framework (AIF) version 1.6. The analysis highlights the significance of weighted method per class (WMC) metric for fault classification, and also the analysis shows that the hybrid approach of radial basis function network obtained better fault prediction rate when compared with other three neural network models. 1. Introduction Present day software development is mostly based on object-oriented paradigm. The quality of object-oriented software can be best assessed by the use of software metrics. A number of metrics have been proposed by researchers and practitioners to evaluate the quality of software. These metrics help to verify the quality attributes of a software such as effort and fault proneness. The usefulness of these metrics lies in their ability to predict the reliability of the developed software. In practice, software quality mainly refers to reliability, maintainability, and understandability. Reliability is generally measured by the number of faults found in the developed software. Software fault prediction is a challenging task for researchers before the software is released. Hence, accurate fault prediction is one of the major goals so as to release a software having the least possible faults. This paper aims to assess the influence of CK metrics, keeping in view of predicting faults for an open-source software product. Statistical methods such as linear regression and logistic regression are used for classification of faulty classes. Machine learning algorithms such as artificial neural network (ANN), functional link artificial neural network (FLANN), and radial basis function network (RBFN) are applied for prediction of faults, and probabilistic neural

References

[1]  V. R. Basili, L. C. Briand, and W. L. Melo, “A validation of object-oriented design metrics as quality indicators,” IEEE Transactions on Software Engineering, vol. 22, no. 10, pp. 751–761, 1996.
[2]  T. J. McCabe, “A Complexity Measure,” IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 308–320, 1976.
[3]  M. H. Halstead, Elements of Software Science, Elsevier Science, New York, NY, USA, 1977.
[4]  W. Li and S. Henry, “Maintenance metrics for the Object-Oriented paradigm,” in Proceedings of the 1st International Software Metrics Symposium, pp. 52–60, 1993.
[5]  S. R. Chidamber and C. F. Kemerer, “Metrics suite for object oriented design,” IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476–493, 1994.
[6]  F. B. E. Abreu and R. Carapuca, “Object-Oriented software engineering: measuring and controlling the development process,” in Proceedings of the 4th International Conference on Software Quality, pp. 1–8, McLean, Va, USA, October 1994.
[7]  M. Lorenz and J. Kidd, Object-Oriented Software Metrics, Prentice Hall, Englewood, NJ, USA, 1994.
[8]  R. Martin, “OO design quality metrics—an analysis of dependencies,” in Proceedings of the Workshop Pragmatic and Theoretical Directions in Object-Oriented Software Metrics (OOPSLA '94), 1994.
[9]  D. P. Tegarden, S. D. Sheetz, and D. E. Monarchi, “A software complexity model of object-oriented systems,” Decision Support Systems, vol. 13, no. 3-4, pp. 241–262, 1995.
[10]  W. Melo and F. B. E. Abreu, “Evaluating the impact of object-oriented design on software quality,” in Proceedings of the 3rd International Software Metrics Symposium, pp. 90–99, Berlin, Germany, March 1996.
[11]  L. Briand, P. Devanbu, and W. Melo, “Investigation into coupling measures for C++,” in Proceedings of the IEEE 19th International Conference on Software Engineering Association for Computing Machinery, pp. 412–421, May 1997.
[12]  L. Etzkorn, J. Bansiya, and C. Davis, “Design and code complexity metrics for OO classes,” Journal of Object-Oriented Programming, vol. 12, no. 1, pp. 35–40, 1999.
[13]  L. C. Briand, J. Wüst, J. W. Daly, and D. Victor Porter, “Exploring the relationships between design measures and software quality in object-oriented systems,” The Journal of Systems and Software, vol. 51, no. 3, pp. 245–273, 2000.
[14]  M.-H. Tang, M.-H. Kao, and M.-H. Chen, “Empirical study on object-oriented metrics,” in Proceedings of the 6th International Software Metrics Symposium, pp. 242–249, November 1999.
[15]  K. El Emam, W. Melo, and J. C. Machado, “The prediction of faulty classes using object-oriented design metrics,” Journal of Systems and Software, vol. 56, no. 1, pp. 63–75, 2001.
[16]  T. M. Khoshgoftaar, E. B. Allen, J. P. Hudepohl, and S. J. Aud, “Application of neural networks to software quality modeling of a very large telecommunications system,” IEEE Transactions on Neural Networks, vol. 8, no. 4, pp. 902–909, 1997.
[17]  R. Hochman, T. M. Khoshgoftaar, E. B. Allen, and J. P. Hudepohl, “Evolutionary neural networks: a robust approach to software reliability problems,” in Proceedings of the 8th International Symposium on Software Reliability Engineering (ISSRE '97), pp. 13–26, November 1997.
[18]  T. Menzies, B. Caglayan, E. Kocaguneli, J. Krall, F. Peters, and B. Turhan, “The PROMISE Repository of empirical software engineering data,” West Virginia University, Department of Computer Science, 2012, http://promisedata.googlecode.com.
[19]  Y. Kumar Jain and S. K. Bhandare, “Min max normalization based data perturbation method for privacy protection,” International Journal of Computer and Communication Technology, vol. 2, no. 8, pp. 45–50, 2011.
[20]  R. Battiti, “First and Second-Order Methods for Learning between steepest descent and newton's method,” Neural Computation, vol. 4, no. 2, pp. 141–166, 1992.
[21]  K. Levenberg, “A method for the solution of certain non-linear problems in least squares,” Quarterly of Applied Mathematics, vol. 2, no. 2, pp. 164–168, 1944.
[22]  D. W. Marquardt, “An algorithm for the lest-squares estimation of non-linear parameters,” SIAM Journal of Applied Mathematics, vol. 11, no. 2, pp. 431–441, 1963.
[23]  Y. H. Pao, Adaptive Pattern Recognition and Neural Networks, Addison-Wesley, Reading, UK, 1989.
[24]  D. F. Specht, “Probabilistic neural networks,” Neural Networks, vol. 3, no. 1, pp. 109–118, 1990.
[25]  C. Catal, “Performance evaluation metrics for software fault prediction studies,” Acta Polytechnica Hungarica, vol. 9, no. 4, pp. 193–206, 2012.
[26]  X. Yaun, T. M. Khoshgoftaar, E. B. Allen, and K. Ganesan, “Application of fuzzy clustering to software quality prediction,” in Proceedings of the 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology (ASSEST '00), pp. 85–91, March 2000.
[27]  T. Gyimóthy, R. Ferenc, and I. Siket, “Empirical validation of object-oriented metrics on open source software for fault prediction,” IEEE Transactions on Software Engineering, vol. 31, no. 10, pp. 897–910, 2005.
[28]  G. Denaro, M. Pezzè, and S. Morasca, “Towards industrially relevant fault-proneness models,” International Journal of Software Engineering and Knowledge Engineering, vol. 13, no. 4, pp. 395–417, 2003.
[29]  S. Kanmani and U. V. Rymend, “Object-Oriented software quality prediction using general regression neural networks,” SIGSOFT Software Engineering Notes, vol. 29, no. 5, pp. 1–6, 2004.
[30]  N. Nagappan and W. Laurie, “Early estimation of software quality using in-process testing metrics: a controlled case study,” in Proceedings of the 3rd Workshop on Software Quality, pp. 1–7, St. Louis, Mo, USA, 2005.
[31]  H. M. Olague, L. H. 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 Transactions on Software Engineering, vol. 33, no. 6, pp. 402–419, 2007.
[32]  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.
[33]  F. Wu, “Empirical validation of object-oriented metrics on NASA for fault prediction,” in Proceedings of theInternational Conference on Advances in Information Technology and Education, pp. 168–175, 2011.
[34]  H. Kapila and S. Singh, “Analysis of CK metrics to predict software fault-proneness using bayesian inference,” International Journal of Computer Applications, vol. 74, no. 2, pp. 1–4, 2013.

Full-Text

comments powered by Disqus

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133

WeChat 1538708413