DOI QR코드

DOI QR Code

Evolutionary Computing Driven Extreme Learning Machine for Objected Oriented Software Aging Prediction

  • Received : 2022.02.05
  • Published : 2022.02.28

Abstract

To fulfill user expectations, the rapid evolution of software techniques and approaches has necessitated reliable and flawless software operations. Aging prediction in the software under operation is becoming a basic and unavoidable requirement for ensuring the systems' availability, reliability, and operations. In this paper, an improved evolutionary computing-driven extreme learning scheme (ECD-ELM) has been suggested for object-oriented software aging prediction. To perform aging prediction, we employed a variety of metrics, including program size, McCube complexity metrics, Halstead metrics, runtime failure event metrics, and some unique aging-related metrics (ARM). In our suggested paradigm, extracting OOP software metrics is done after pre-processing, which includes outlier detection and normalization. This technique improved our proposed system's ability to deal with instances with unbalanced biases and metrics. Further, different dimensional reduction and feature selection algorithms such as principal component analysis (PCA), linear discriminant analysis (LDA), and T-Test analysis have been applied. We have suggested a single hidden layer multi-feed forward neural network (SL-MFNN) based ELM, where an adaptive genetic algorithm (AGA) has been applied to estimate the weight and bias parameters for ELM learning. Unlike the traditional neural networks model, the implementation of GA-based ELM with LDA feature selection has outperformed other aging prediction approaches in terms of prediction accuracy, precision, recall, and F-measure. The results affirm that the implementation of outlier detection, normalization of imbalanced metrics, LDA-based feature selection, and GA-based ELM can be the reliable solution for object-oriented software aging prediction.

Keywords

References

  1. S. L. Pfleeger and J. M. Atlee, Software Engineering: Theory and Practice, Prentice Hall; 4 edition, (2009)
  2. Ian Sommerville, Software Engineering, Pearson; 9e (2010)
  3. A. Bovenzi, D. Cotroneo, R. Pietrantuono, S. Russo, Workload Characterization for Software Aging Analysis, in: Proc. IEEE Intl. Symp. On Software Reliability Engineering, pp. 240-249 (2011)
  4. Y. Huang, C. Kintala, N. Kolettis, N. Fulton, Software Rejuvenation: Analysis, Module and Applications, in: Proc. Intl. Symp. on Fault-Tolerant Computing, pp. 381-390, (1995)
  5. M. Balakrishnan, A. Puliaffito, K. Trivedi, I. Viniotisz, Buffer Losses vs. Deadline Violations for ABR Traffic in an ATM Switch: A Computational Approach, Telecommunication Systems 7 (1), 105-123, (1997) https://doi.org/10.1023/A:1019164110511
  6. E. Marshall, Fatal Error: How Patriot Overlooked a Scud, Science 255 (5050), 1347, (1992) https://doi.org/10.1126/science.255.5050.1347
  7. M. Grottke, L. Li, K. Vaidyanathan, K. S. Trivedi, Analysis of Software Aging in a Web Server, IEEE Trans. on Reliability 55 (3) , 411-420, (2006) https://doi.org/10.1109/TR.2006.879609
  8. M. Grottke, R. Matias, K. Trivedi, The Fundamentals of Software Aging, in: Proc. 1st IEEE Intl. Workshop on Software Aging and Rejuvenation, pp. 1-6, (2008)
  9. Ahamad S., Study of software aging issues and prevention solutions. International Journal of Computer Science and Information Security, Aug 1;14(8):307-313, (2016)
  10. Padhy, N., Singh, R. P., & Satapathy, S. C. Enhanced evolutionary computing based artificial intelligence model for web-solutions software reusability estimation. Cluster Computing, 22(4), 9787-9804, (2019). https://doi.org/10.1007/s10586-017-1558-0
  11. Kaur, H., Ahamad, S., & Verma, G. N., Elements of Legacy Program Complexity. International Journal of Research in Engineering and Technology, 4(3), 501-505, (2015) https://doi.org/10.15623/ijret.2015.0403085
  12. M. Grottke, L. Li, K. Vaidyanathan, K. S. Trivedi, Analysis of Software Aging in a Web Server, IEEE Trans. on Reliability 55 (3), 411-420. (2006) https://doi.org/10.1109/TR.2006.879609
  13. D. Cotroneo, S. Orlando, R. Pietrantuono, S. Russo, A Measurement based Aging Analysis of the JVM, Software Testing, Verification and Reliability. doi:10.1002/stvr.467.
  14. D. Cotroneo, R. Natella, R. Pietrantuono, S. Russo, Software Aging Analysis of the Linux Operating System, in: Proc. IEEE 21st Intl. Symp. on Software Reliability Engineering, pp. 71-80. (2010)
  15. Grottke, M., K. Trivedi, Software faults, software aging and software rejuvenation, Journal of the Reliability Engineering Association of Japan 27 (7), 425-438. (2005)
  16. S. Garg, A. Pulia_to, K. S. Trivedi, Analysis of Software Rejuvenation using Markov Regenerative Stochastic Petri Net, in: Proc. 6th Intl. Symp. on Software Reliability Engineering, pp. 180-187. (1995)
  17. K. J. Cassidy, K. C. Gross, A. Malekpour, Advanced Pattern Recognition for Detection of Complex Software Aging Phenomena in Online Transaction Processing Servers, in: Proc. IEEE/IFIP Intl. Conf. on Dependable Systems and Networks, pp. 478-482. (2002)
  18. K. Vaidyanathan, K. S. Trivedi, A Measurement-Based Model for Estimation of Resource Exhaustion in Operational Software Systems, in: Proc. 10th Intl. Symp. on Software Reliability Engineering, pp.84-93. (1999)
  19. W. Li and S. Henry, "Maintenance metrics for the Object-Oriented paradigm," in Proceedings of First International Software Metrics Symposium, pp. 52-60, (1993)
  20. M. Grottke, K. Trivedi, Fighting Bugs: Remove, Retry, Replicate, and Rejuvenate, IEEE Computer 40 (2), 107-109. (2007)
  21. R. Matias, P. J. Freitas Filho, An Experimental Study on Software Aging and Rejuvenation in Web Servers, in: Proc. 30th Annual Intl. Computer Software and Applications Conf., pp. 189-196, (2006)
  22. Chug, A., Dhall, S., "Software defect prediction using supervised learning algorithm and unsupervised learning algorithm, "Confluence 2013: The Next Generation Information Technology Summit, pp.173-179, 26-27 Sept. (2013).
  23. F. B. E. Abreu, R. Carapuca, "Object-Oriented software engineering: Measuring and controlling the development process," in Proceedings of the 4th International Conference on Software Quality, vol. 186, (1994)
  24. B. K. Kang and J. M. Bieman, "Cohesion and reuse in an Object-Oriented system," in Proceedings of the ACM SIGSOFT Symposium on software reusability, pp. 259-262, Seattle, March (1995)
  25. L. C. Briand, J. Wust, J. W. Daly, D. V. Porter, "Exploring the relationships between design measures and software quality in Object-Oriented systems," The Journal of Systems and Software, vol. 51, pp. 245-273, (2000) https://doi.org/10.1016/S0164-1212(99)00102-8
  26. M. Halstead, Elements of Software Science. New York, USA: Elsevier Science, (1977)
  27. B. Henderson-Sellers, Software Metrics. Prentice-Hall, (1996)
  28. T. J. McCabe, "A complexity measure," IEEE Transactions on Software Engineering, vol. 2, pp. 308-320, (1976) https://doi.org/10.1109/TSE.1976.233837
  29. D. P. Tegarden, S. D. Sheetz, D. E. Monarchi, "A software complexity model of Object-Oriented systems," Decision Support Systems, vol. 13, no. 3, pp. 241-262, (1995) https://doi.org/10.1016/0167-9236(93)E0045-F
  30. M. Lorenz and J. Kidd, Object-Oriented Software Metrics. NJ, Englewood: Prentice-Hall, (1994)
  31. S. R. Chidamber and C. F. Kemerer, "A metrics suite for Object-Oriented design," IEEE Transactions on Software Engineering on June 1994, vol. 20, pp. 476-493, (1994) https://doi.org/10.1109/32.295895
  32. http://openscience.us/repo/software-aging/
  33. Huang GB, Zhu QY, Siew CK. Extreme Learning Machine: Theory and Applications. Neuro computing, 70(1-3): 489-501, (2006)
  34. Amir Ahmad, predicting software aging related bugs from imbalanced datasets by using data mining techniques, IOSR Journal of Computer Engineering (IOSR-JCE), Volume 18, Issue 1, Ver. III, PP 27-35. (2016) https://doi.org/10.9790/0661-1805052731
  35. Xiaozhi Du, Huimin Lu, Gang Liu, Software Aging Prediction based on Extreme Learning Machine, TELKOMNIKA, Vol.11, No.11, pp. 6547-6555 (2013)