Advertisement

Cluster Computing

, Volume 22, Supplement 6, pp 14559–14581 | Cite as

Cost-effective and fault-resilient reusability prediction model by using adaptive genetic algorithm based neural network for web-of-service applications

  • Neelamadhab PadhyEmail author
  • R. P. Singh
  • Suresh Chandra Satapathy
Article

Abstract

The exponential rise in software technologies and its significances has demanded academia-industries to ensure low cost software solution with assured service quality and reliability. A low cost and fault-resilient software design is must, where to achieve low cost design the developers or programmers prefer exploiting source or function reuse. However, excessive reusability makes software vulnerable to get faulty due to increased complexity and aging proneness. Non-deniably assessing reusability of a class of function in software can enable avoiding any unexpected fault or failure. To achieve it developing a robust and efficient reusability estimation or prediction model is of utmost significance. On the other hand, the aftermath consequences of excess reusability caused faults might lead significant losses. Hence assessing cost effectiveness and efficacy of a reusability prediction model is must for software design optimization. In this paper, we have examined different reusability prediction models for their cost effectiveness and prediction efficiency over object-oriented software design. At first to examine the reusability of a class, three key object oriented software metrics (OO-SM); cohesion, coupling and complexity of the software components are used. Furthermore, our proposed cost-efficient reusability prediction model incorporates Min–Max normalization, outlier detection, reusability threshold estimation; T test analysis based feature selection and various classification algorithms. Different classifiers including decision tree (DT), Naïve Bayes (NB), artificial neural network (ANN) algorithms, extreme learning machine (ELM), regression algorithms, multivariate adaptive regression spline (MARS) and adaptive genetic algorithm (AGA) based ANN are used for reusability prediction. Additionally, the cost effectiveness of each reusability prediction model is estimated, where the overall results have revealed that AGA based ANN as classifier in conjunction with OO-SM, normalization, T test analysis based feature selection outperforms other state-of-art techniques in terms of both accuracy as well as cost-effectiveness.

Keywords

Software reusability Cost-efficient reusability prediction Evolutionary computing Object-oriented software metrics Web-of-service 

References

  1. 1.
    Caldiera, G., Basili, V.R.: Identifying and qualifying reusable software components. IEEE Softw. 24, 61–70 (1991)Google Scholar
  2. 2.
    Sommerville, I.: Software Engineering, 9th edn. Addison-Wesley, New York (2011)zbMATHGoogle Scholar
  3. 3.
    Goel, B.M., Bhatia, P.K.: Analysis of reusability of object-oriented systems using object-oriented metrics. ACM SIGSOFT Softw. Eng. Notes 38, 1–5 (2013)Google Scholar
  4. 4.
    Kumar, V., Kumar, R., Sharma, A.: Applying neuro-fuzzy approach to build the reusability assessment framework across software component releases—an empirical evaluation. Int. J. Comput. Appl. 70, 41–47 (2013)Google Scholar
  5. 5.
    Singh, G.: Metrics for measuring the quality of object-oriented software. ACM SIGSOFT Softw. Eng. Notes 38, 1–5 (2013)Google Scholar
  6. 6.
    Singhani, H., Suri, P.R.: Testability assessment model for object oriented software based on internal and external quality factors. Glob. J. Comput. Sci. Technol. C. 15, 5 (2015)Google Scholar
  7. 7.
    Mijac, M., Stapic, Z.: Reusability metrics of software components: survey. In: Conference Paper (2015)Google Scholar
  8. 8.
    Srivastava, S., Kumar, R.: Indirect method to measure software quality using CK-OO suite. International Conference on Intelligent Systems and Signal Processing (ISSP), Gujarat, pp. 47–51 (2013)Google Scholar
  9. 9.
    Goel, B.M., Bhatia, P.K.: Analysis of reusability of object-oriented system using CK metrics. Int. J. Comput. Appl. 60(10), 0975–8887 (2012)Google Scholar
  10. 10.
    Rosenberg, L.H., Hyatt, L.E.: Software quality metrics for object-oriented environments. Crosstalk J. 10, 1–16 (1997)Google Scholar
  11. 11.
    Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20, 476–493 (1994)CrossRefGoogle Scholar
  12. 12.
    Antony, P.J.: Predicting reliability of software using thresholds of CK metrics. Int. J. Adv. Netw. Appl. 4, 6 (2013)Google Scholar
  13. 13.
    Hudiab, A., Al-Zaghoul, F., Saadeh, M., Saadeh, H.: ADTEM—architecture design testability evaluation model to assess software architecture based on testability metrics. J. Softw. Eng. Appl. 8, 201–210 (2015)CrossRefGoogle Scholar
  14. 14.
    Singh, S., Thapa, M., Singh, S., Singh, G.: Software engineering—survey of reusability based on software component. Int. J. Comput. Appl. 8(12) (2010)CrossRefGoogle Scholar
  15. 15.
    Berander, P.: Software Quality Attributes and Trade-Offs. Blekinge institute of technology, Karlskrona (2005)Google Scholar
  16. 16.
    Shatnawi, R.: A quantitative investigation of the acceptable risk levels of object-oriented metrics in open-source systems. IEEE Trans. Softw. Eng. 36, 216–225 (2010)CrossRefGoogle Scholar
  17. 17.
    Shatnawi, R., Li, W., Swain, J., Newman, T.: Finding software metrics threshold values using roc curves. J. Softw. Maint. Evol. 22, 1–16 (2010)CrossRefGoogle Scholar
  18. 18.
    Goel, B.M., Bhatia, pk: Analysis of reusability of object-oriented system using CK metrics. Int. J. Comput. Appl. 60, 10 (2012)Google Scholar
  19. 19.
    Bakar, N.S.A.A.: The analysis of object-oriented metrics in C++ programs. In: Lecture Notes on Software Engineering 4(1) (2016)CrossRefGoogle Scholar
  20. 20.
    Torkamani, M.A.: Metric suite to evaluate reusability of software product line. Int. J. Electr. Comput. Eng. (IJECE) 4(2), 285–294 (2014)Google Scholar
  21. 21.
    Aloysius, A., Maheswar, K.: A review on component based software metrics. Int. J. Fuzzy Math. Arch. 7(2), 185–194 (2015)Google Scholar
  22. 22.
    Gandhi, P., Bhatia, P.K.: Reusability metrics for object-oriented system: an alternative approach. Int. J. Softw. Eng. (IJSE) 1(4), 63–72 (2010)Google Scholar
  23. 23.
    Huda, M., Arya, Y.D.S., Hasan Khan, M.: Quantifying reusability of object oriented design: a testability perspective. J. Softw. Eng. Appl. 8, 175–183 (2015)CrossRefGoogle Scholar
  24. 24.
    Kulkarni, U.L., Kalshetty, Y.R., Arde, V.G.: Validation of CK metrics for object oriented design measurement. In: 2010 3rd International Conference on Emerging Trends in Engineering and Technology (ICETET), Goa, pp. 646–651 (2010)Google Scholar
  25. 25.
    Kumar, A.: Measuring software reusability using svm based classifier approach. Int. J. Inf. Technol. Knowl. Manage. 5(1), 205–209 (2012)Google Scholar
  26. 26.
    Etzkorn, L.H., Davis, C.G., Bowen, L.L., Wolf, J.C., Wolf, R.P., Yun, M.Y., Vinz, B.L., Orme, A.M., Lewis, L.W.: The program analysis tool for reuse: identifying reusable components. In: Proceedings of the Eleventh International FLAIRS ConferenceGoogle Scholar
  27. 27.
    Zahara, S.I., Ilyas, M., Zia, T.: A study of comparative analysis of regression algorithms for reusability evaluation of object oriented based software components. In: International Conference on Open Source Systems and Technologies (ICOSST), Lahore, pp. 75–80 (2013)Google Scholar
  28. 28.
    Singh, P.K., Sangwan, O.P., Singh, A.P., Pratap, A.: A framework for assessing the software reusability using fuzzy logic approach for aspect oriented software. Inf. Technol. Comput. Sci. 02, 12–20 (2015)Google Scholar
  29. 29.
    Kumar, V., Kumar, R., Sharma, A.: Applying neuro-fuzzy approach to build the reusability assessment framework across software component releases—an empirical evaluation. Int. J. Comput. Appl. 70(15) (2013)CrossRefGoogle Scholar
  30. 30.
    Singh, C., Pratap, A., Singhal, A.: Estimation of software reusability for component based system using soft computing techniques. In: 5th International Conference—Confluence The Next Generation Information Technology Summit (Confluence), Noida, pp. 788–794 (2014)Google Scholar
  31. 31.
    Sandhu, P.S., Singh, H.: A reusability evaluation model for oo-based software components. Int. J. Electr. Comput. Eng. 1, 247–252 (2012)Google Scholar
  32. 32.
    Shri, A., Sandhu, P.S., Gupta, V., Anand, S.: Prediction of reusability of object oriented software systems using clustering approach. World Acad. Sci. Eng. Technol. 43, 853–856 (2010)Google Scholar
  33. 33.
    Kaur, M., Mahajan, M., Sandhu, P.S.: A k-NN based approach for reusability evaluation of object-oriented based software components. In: International Conference on Information and Communications Security (2011)Google Scholar
  34. 34.
    Nair, T.R., Selvarani, R.: Estimation of software reusability: an engineering approach, association for computing machinery. SIGSOFT 35(1), 1–6 (2010)CrossRefGoogle Scholar
  35. 35.
    Guo, X.L., Wang, H.Y., Glass, D.H.: A growing bayesian self-organizing map for data clustering. In: Proceedings of the International Conference on Machine Learning and Cybernetics (ICMLC), vol. 2, pp. 708–713 (2012)Google Scholar
  36. 36.
    Bhatia, P.K., Mann, R.: An approach to measure software reusability of oo design. In: Proceedings of 2nd National Conference on Challenges & Opportunities in Information Technology, pp. 26–30 (2008)Google Scholar
  37. 37.
    Cho, E.S., Kim, M.S., Kim, S.D.: Component metrics to measure component quality. In: Proceedings of the 8th Asia Pacific Software Engineering Conference (APSEC), Macau, vol. 4–7, pp. 419–426 (2001)Google Scholar
  38. 38.
    Dhand, P., Dhillon, P.K., Mago, J.: Estimating software reusability from oo metrics using fuzzy logic. Apeejay J. Comput. Sci. Appl. 3, 29–35 (2015)Google Scholar
  39. 39.
    Sametinger, J.: Software Engineering with Reusable Components. Springer, New York (1997)CrossRefGoogle Scholar
  40. 40.
    Rotaru, O.P., Dobre, M.: Reusability metrics for software components. In: Proceedings of the 3rd ACS/IEEE International Conference on Computer Systems and Applications, Cairo, pp. 24–29 (2005)Google Scholar
  41. 41.
    Maggo, S.,Gupta, C.: A machine learning based efficient software reusability prediction model for java based object oriented software. Int. J. Inf. Technol. Comput. Sci. (IJITCS) (2014)Google Scholar
  42. 42.
    Padhy N., Satapathy S., Singh R.P.: State-of-the-art object-oriented metrics and its reusability: a decade review. In: Satapathy S., Bhateja V., Das S. (eds.) Smart Computing and Informatics. Smart Innovation, Systems and Technologies, vol 77. Springer, Singapore.  https://doi.org/10.1007/978-981-10-5544-7-42
  43. 43.
    Padhy, N., et al.: Software reusability metrics estimation: algorithms, models and optimization techniques. Comput. Electr. Eng. (2017).  https://doi.org/10.1016/j.compeleceng.2017.11.022 CrossRefGoogle Scholar
  44. 44.
    Padhy, N., Satapathy, S., Singh, R.: Utility of an object oriented reusability metrics and estimation complexity. Indian J. Sci. Technol. (2017).  https://doi.org/10.17485/ijst/2017/v10i3/107289 CrossRefGoogle Scholar
  45. 45.
    Pant, M. A brief overview of firefly algorithm. In: Soft Computing: Theories and Applications, pp. 727–738. Springer, Singapore (2018)Google Scholar
  46. 46.
    Rahmanian, A.A., Ghobaei-Arani, M., Tofighy, S.: A learning automata-based ensemble resource usage prediction algorithm for cloud computing environment. Future Gener. Comput. Syst. 79, 54–71 (2018)CrossRefGoogle Scholar
  47. 47.
    Padhy, N., Singh, R.P., Satapathy, S.C.: Utility of an object-oriented metrics component: examining the feasibility of .Net and C# object-oriented program from the perspective of mobile learning. Int. J. Mob. Learn. Org. (in press)Google Scholar
  48. 48.
    Padhy, N., Singh, R.P., Satapathy, S.C.: Enhanced evolutionary computing based artificial intelligence model for web-solutions software reusability estimation. Clust. Comput.  https://doi.org/10.1007/s10586-017-1558-0 (2017)Google Scholar
  49. 49.
    Padhy, N., Satapathy, S.C., Singh, R.P.: Estimation of complexity by using an object oriented metrics approach and its proposed algorithm and models. Int. J. Netw. Virtual Org. (in press)Google Scholar
  50. 50.
    Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques. Morgan Kaufmann, Burlington (2011)zbMATHGoogle Scholar
  51. 51.
    Kuncheva, L.I.: Combining Pattern Classifiers: Methods and Algorithms. Wiley, Hoboken (2004)CrossRefGoogle Scholar
  52. 52.
    Ting, K.M.: An instance-weighting method to induce cost-sensitive trees. IEEE Trans. Knowl. Data Eng. 14(3), 659–665 (2002)MathSciNetCrossRefGoogle Scholar
  53. 53.
    J. C, Software quality in 2010: a survey of the state of the art,” in Founder and Chief Scientist Emeritus (2010)Google Scholar
  54. 54.
    Goyal, N., Gupta, D.: Reusability calculation of object oriented software model by analyzing CK metric. Int. J. Adv. Res. Comput. Eng. Technol. (IJARCET) 3(7), 2466–2470 (2014)Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringSri Satya Sai University of Technology and Medical Science, SSSUTMSehoreIndia
  2. 2.Sri Satya Sai University of Technology and Medical Science (SSSUTM)SehoreIndia
  3. 3.PV Siddhartha Institute of Engineering and TechnologyKanuru,Vijayawada-520 007India

Personalised recommendations