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.
Similar content being viewed by others
References
Caldiera, G., Basili, V.R.: Identifying and qualifying reusable software components. IEEE Softw. 24, 61–70 (1991)
Sommerville, I.: 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)
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)
Singh, G.: Metrics for measuring the quality of object-oriented software. ACM SIGSOFT Softw. Eng. Notes 38, 1–5 (2013)
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)
Mijac, M., Stapic, Z.: Reusability metrics of software components: survey. In: Conference Paper (2015)
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)
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)
Rosenberg, L.H., Hyatt, L.E.: Software quality metrics for object-oriented environments. Crosstalk J. 10, 1–16 (1997)
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20, 476–493 (1994)
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)
Singh, S., Thapa, M., Singh, S., Singh, G.: Software engineering—survey of reusability based on software component. Int. J. Comput. Appl. 8(12) (2010)
Berander, P.: Software Quality Attributes and Trade-Offs. Blekinge institute of technology, Karlskrona (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)
Shatnawi, R., Li, W., Swain, J., Newman, T.: Finding software metrics threshold values using roc curves. J. Softw. Maint. Evol. 22, 1–16 (2010)
Goel, B.M., Bhatia, pk: Analysis of reusability of object-oriented system using CK metrics. Int. J. Comput. Appl. 60, 10 (2012)
Bakar, N.S.A.A.: The analysis of object-oriented metrics in C++ programs. In: Lecture Notes on Software Engineering 4(1) (2016)
Torkamani, M.A.: Metric suite to evaluate reusability of software product line. Int. J. Electr. Comput. Eng. (IJECE) 4(2), 285–294 (2014)
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. (IJSE) 1(4), 63–72 (2010)
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)
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)
Kumar, A.: Measuring software reusability using svm based classifier approach. Int. J. Inf. Technol. Knowl. Manage. 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
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)
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)
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)
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)
Sandhu, P.S., Singh, H.: A reusability evaluation model for oo-based software components. Int. J. Electr. Comput. Eng. 1, 247–252 (2012)
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)
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)
Nair, T.R., Selvarani, R.: Estimation of software reusability: an engineering approach, association for computing machinery. SIGSOFT 35(1), 1–6 (2010)
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)
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)
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)
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)
Sametinger, J.: Software Engineering with Reusable Components. Springer, New York (1997)
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)
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)
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
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
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
Pant, M. A brief overview of firefly algorithm. In: Soft Computing: Theories and Applications, pp. 727–738. Springer, Singapore (2018)
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)
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)
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)
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)
Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques. Morgan Kaufmann, Burlington (2011)
Kuncheva, L.I.: Combining Pattern Classifiers: Methods and Algorithms. Wiley, Hoboken (2004)
Ting, K.M.: An instance-weighting method to induce cost-sensitive trees. IEEE Trans. Knowl. Data Eng. 14(3), 659–665 (2002)
J. C, Software quality in 2010: a survey of the state of the art,” in Founder and Chief Scientist Emeritus (2010)
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)
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Sl/no | Keyword | Meaning |
---|---|---|
1 | OO-SM | Object oriented software metrics |
2 | DT | Decision tree |
3 | ELM | Extreme learning machine |
4 | AGA | Adaptive genetic algorithm |
5 | MARS | Multivariate adaptive regression spline |
6 | ANN | Artificial neural network algorithms |
7 | OO-CK | Object-oriented CK metrics |
8 | NTC | Number of template children |
9 | DTT | Depth of template tree |
10 | CC | Cyclomatic complexity |
11 | RFC | Response for class |
12 | WMC | Weighted method per class |
13 | NOC | Number of children |
14 | LCOM | Lack of cohesion in methods |
15 | SVM | Support vector machine |
16 | CBO | Coupling between object |
17 | LOGR | Logarithmic regression |
18 | NB | Naive Bayes |
19 | LM | Levenberg–Marquardt |
20 | RMSE | Root means square error |
21 | TN | True negative |
22 | FP | False positive |
23 | FN | False negative |
24 | MAE | Mean absolute error |
25 | MMRE | Mean magnitude of the relative error |
26 | SEM | Standard error of the mean |
27 | MTIF | Method template inheritance factor |
28 | ATIF | Attribute template inheritance factor |
29 | CBSD | Component based software design |
30 | SOM | Self-organizing map |
31 | LOC | Line of counts |
32 | OOP | Object-oriented programming |
33 | WoS | Web of service |
34 | CKM | Chidamber and kemerer metrics |
35 | WSDL | Web services description language |
36 | CKJM | CK java machine based CK metrics retrieval |
Rights and permissions
About this article
Cite this article
Padhy, N., Singh, R.P. & Satapathy, S.C. Cost-effective and fault-resilient reusability prediction model by using adaptive genetic algorithm based neural network for web-of-service applications. Cluster Comput 22 (Suppl 6), 14559–14581 (2019). https://doi.org/10.1007/s10586-018-2359-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-018-2359-9