Abstract
Ensuring the aging resilient software design can be of paramount significance to enable faultless software system. Particularly assessing reusability extent of the software components can enable efficient software design. The probability of aging proneness can be characterized based on key OO-SM like cohesion, coupling and complexity of a software component. In this paper, aging resilient software reusability prediction model is proposed for object oriented design based Web of Service (WoS) software systems. This work introduces multilevel optimization to accomplish a novel reusability prediction model. Considering coupling, cohesion and complexity as the software characteristics to signify aging proneness, six CK metrics; WMC, CBO, DIT, LCOM, NOC, and RFC are obtained from 100 WoS software. The extracted CK metrics are processed for min–max normalization that alleviates data-unbalancing and hence avoids saturation during learning. The 10-fold Cross-validation followed by outlier detection is considered to enrich data quality for further feature extraction. To reduce computational overheads RSA algorithm is applied. SoftAudit tool is applied to estimate reusability of each class, while binary ULR estimates calculates (reuse proneness) threshold. Applying different classification algorithms such as LM, ANN algorithms, ELM, and evolutionary computing enriched ANN reuse-proneness prediction has been done. The performance assessment affirms that AGA based ANN model outperforms other techniques and hence can be used for earlier aging-resilient reusability optimization for WoS software design.
Similar content being viewed by others
References
Caldiera, G., Basili, V.R.: Identifying and qualifying reusable software components. IEEE Softw. 24, 61–70 (1991). https://doi.org/10.1109/2.67210
Sommerville, l.: Software Engineering, 9th edn. Addison-Wesley, New York (2011)
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). https://doi.org/10.1145/2492248.2492264
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), 41–47 (2013). https://doi.org/10.5120/12041-8047
Sametinger, J.: Software Engineering with Reusable Components. Springer, New York (1997)
Singh, G.: Metrics for measuring the quality of object-oriented software. ACM SIGSOFT Softw. Eng. Notes 38, 1–5 (2013). https://doi.org/10.1145/2507288.2507311
Rotaru, O.P., Dobre, M.: Reusability metrics for software components. In: Proceedings of the 3rd ACS/IEEE International Conference on Computer Systems and Applications, pp. 24–29 (2005). https://doi.org/10.1109/AICCSA.2005.1387023
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20, 476–493. https://doi.org/10.1109/32.295895
Maggo, S., Gupta, C.: A machine learning based efficient software reusability prediction model for java based object oriented software. Int. J. Inform. Technol. Comput. Sci. 2, 1–13 (2014). https://doi.org/10.5815/ijitcs.2014.02.01
Singhani, H., Suri, P.R.: Testability assessment model for object oriented software based on internal and external quality factors. Glob. J. Comput. Sci. Technol. 15(5), 9–16 (2015)
Mijac, M., Stapic, Z.: Reusability metrics of software components: survey, central. In: European Conference on Information and Intelligent System Conference Paper \(\cdot \) September (2015). https://doi.org/10.13140/RG.2.1.3611.4642, pp .221–231
Srivastava, S., Kumar, R.: Indirect method to measure software quality using CK-OO suite Intelligent Systems and Signal Processing (ISSP). In: International Conference on, Gujarat, pp. 47–51 (2013). https://doi.org/10.1109/ISSP.2013.6526872
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). https://doi.org/10.5120/9730-4204
Rosenberg, L.H., Hyatt, L.E.: Software quality metrics for object-oriented environments. Crosstalk J. 10, 1–16 (1997)
Antony, P.J.: Predicting reliability of software using thresholds of CK metrics. Int. J. Adv. Netw. Appl. 4, 6 (2013)
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). https://doi.org/10.4236/jsea.2015.84021
Berander, P., Damm, L.-O., Eriksson, J., Gorschek, T., Henningsson, K., Jönsson, P., Kågström, S., Milicic, D., Mårtensson, F., Rönkkö, K., et al.: Software Quality Attributes and Trade-offs. Blekinge Institute of Technology, Blekinge (2005)
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). https://doi.org/10.1109/TSE.2010.9
Shatnawi, R., Li, W., Swain, J., Newman, T.: Finding software metrics threshold values using roc curves. J. Softw. Maint. Evol. 22, 1–16 (2010). https://doi.org/10.1002/smr.v22:1
Padhy, N., Satapathy, S., Singh, R. (2017). Utility of an object oriented reusability metrics and estimation complexity. Indian J. Sci. Technol. 10(3), 1–9. https://doi.org/10.17485/ijst/2017/v10i3/107289
Bakar, N.N.A.A.: The analysis of object-oriented metrics in C++ programs. Lecture Notes on Software Engineering, vol. 4(1). Springer, New York (2016) https://doi.org/10.7763/LNSE.2016.V4.222
Torkamani, M.A.: Metric suite to evaluate reusability of software product line. Int. J. Electr. Comput. Eng. 4(2), 285–294 (2014). https://doi.org/10.11591/ijece.v4i2.5137
Aloysius, A., Maheswar, K.: A review on component based software metrics. Int. J. Fuzzy Math. Arch. 7(2), 185–194 (2015)
Gandhi, P., Bhatia, P.K.: Reusability metrics for object-oriented system: an alternative approach. Int. J. Softw. Eng. 1(4), 63–72 (2010)
Singh, S., Thapa, M., Singh, S., Singh, G.: Software engineering—survey of reusability based on software component. Int. J. Comput. Appl. 8(12), 39–42 (2010). https://doi.org/10.5120/1339-1736
Huda, M., Arya, Y.D.S., Khan, M.H.: Quantifying reusability of object oriented design: a testability perspective. J. Softw. Eng. Appl. 8, 175–183 (2015). https://doi.org/10.4236/jsea.2015.84018
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). https://doi.org/10.1109/ICETET.2010.159
Kumar, A.: Measuring software reusability using SVM based classifier approach. Int. J. Inform. Technol. Knowl. Manag. 5(1), 205–209 (2012)
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 Conference, May 18–20, pp. 121–125 (1998)
Goyal, N., Deepali, G.E.: Reusability calculation of object oriented software model by analyzing CK metric. Int. J. Adv. Res. Comput. Eng. Technol. 3(7), 2466–2470 (2014)
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). https://doi.org/10.1109/ICOSST.2013.6720609
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. IJITCS 7(2), 12–20 (2015). https://doi.org/10.5815/ijitcs.2015.02.02
Singh, C., Pratap, A., Singhal, A.: Estimation of software reusability for component based system using soft computing techniques. In: 5th International Conference on Confluence the Next Generation Information Technology Summit (Confluence), Noida, pp. 788–794 (2014) https://doi.org/10.1109/CONFLUENCE.2014.6949307
Sandhu, P.S., Singh, H.: A reusability evaluation model for OO-based software components. Int. J. Comput. Electr. Autom. Control Inform. Eng. 3(8), 247–252 (2006)
GNair, T.R., Selvarani, R.: Estimation of software reusability: an engineering approach, association for computing machinery. SIGSOFT, Softw. Eng. Notes 35(1), 1–6 (2010) https://doi.org/10.1145/1668862.1668868
Shri, A., Sandhu, P.S., Gupta, V., Anand, S.: Prediction of reusability of object oriented software systems using clustering approach. Int. J. Comput. Electr. Autom. Control Inform. Eng. World Acad. Sci. Eng. Technol 43, 853–856
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)
Bhatia, P.K., Mann, R.: An approach to measure software reusability of OO design. In: Proceedings of the 2nd National Conference on Challenges & Opportunities in Information Technology, pp. 26–30. Springer, New York (2008)
Guo, X.L., Wang, H.Y., Glass, D.H.: A growing Bayesian self-organizing map for data clustering. Proceedings of the International Conference on Machine Learning and Cybernetics (ICMLC) 2, 708–713 (2012)
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, 4–7, pp. 419–426 (2001) https://doi.org/10.1109/APSEC.2001.991509
Dhand, P., Kaur, D.P., Mago, J.: Estimating software reusability from OO metrics using fuzzy logic. Apeejay J. Comput. Sci. Appl. 3, 29–35 (2015)
Makkar, G., Chhabra, J.K., Challa, R.K.: Object oriented inheritance metric-reusability perspective. In: International Conference on Computing, Electronics and Electrical Technologies (ICCEET), Kumaracoil, IEEEXplore, pp. 852–859 (2012). https://doi.org/10.1109/ICCEET.2012.6203815
Gu, X., Shi, J.: Reuse metrics for object-oriented method. In: 2nd International Conference on Information Engineering and Computer Science (ICIECS), Wuhan, pp. 1–4 (2010). https://doi.org/10.1109/ICIECS.2010.5678373
Sodiya, S., Aborisade, D.O., Ikuomola, A.J.: A survivability model for object-oriented software systems. In: 2012 Fourth International Conference on Computational Aspects of Social Networks (CASoN), Sao Carlos, pp. 283–290 (2012). https://doi.org/10.1109/CASoN.2012.6412416
Knight, J.C., Strunk, E.A.: Achieving critical system survivability through software architectures. In: Springer Lecture Notes in Computer Science Book Series (LNCS), vol. 3069, pp. 51-78. Department of Computer Science, University of Virginia
Iyapparaja, M., Sureshkumar, S.: Coupling and cohesion metrics in Java for adaptive reusability risk reduction. In: IET Chennai 3rd International on Sustainable Energy and Intelligent Systems (SEISCON 2012), Tiruchengode, pp. 1–6 (2012). https://doi.org/10.1049/cp.2012.2189
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 (2018). https://doi.org/10.1007/978-981-10-5544-7_42
Padhy, N., Singh, R.P., Satapathy, S.: Software reusability metrics estimation: algorithms, models and optimization techniques. Comput. Electr. Eng. (2017). https://doi.org/10.1016/j.compeleceng.2017.11.022
Padhy, N., Satapathy, S., Singh, R.: Utility of an object oriented reusability metrics and estimation complexity. Indian J. Sci. Technol. 10(3) (2017). https://doi.org/10.17485/ijst/2017/v10i3/107289
Wang, Y., Li, J., Wang, H.H.: Cluster and cloud computing framework for scientific metrology in flow control. Cluster Comput. (2017). https://doi.org/10.1007/s10586-017-1199-3
Huang, W., Wang, H., Zhang, Y., Zhang, S.A.: novel cluster computing technique based on signal clustering and analytic hierarchy model using hadoop. Cluster Comput. (2017). https://doi.org/10.1007/s10586-017-1205-9
Zareapoor, M., Shamsolmoali, P., Jain, D. K., Wang, H., Yang, J.: Kernelized support vector machine with deep learning: an efficient approach for extreme multiclass dataset. Pattern Recognit. Lett. (2017). https://doi.org/10.1016/j.patrec.2017.09.018
Kumar, L., Ku, S.: Rath hybrid functional link artificial neural network approach for predicting maintainability of object-oriented software. J. Syst. Softw 121, 170–190 (2016)
Huang, G.-B., Zhu, Q.-Y., Siew, C.-K.: Extreme learning machine: theory and applications. Neurocomputing 70(1), 489–501 (2006). https://doi.org/10.1016/j.neucom.2005.12.126
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Padhy, N., Singh, R.P. & Satapathy, S.C. Enhanced evolutionary computing based artificial intelligence model for web-solutions software reusability estimation. Cluster Comput 22 (Suppl 4), 9787–9804 (2019). https://doi.org/10.1007/s10586-017-1558-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-017-1558-0