Software Reusability Estimation based on Dynamic Metrics using Soft Computing Techniques

Authors

  • Manju Duhan
  • Pradeep Kumar Bhatia

DOI:

https://doi.org/10.47839/ijc.21.2.2587

Keywords:

Neuro-Fuzzy system, Fuzzy system, Software Reusability, Neural Network Model, Dynamic metrics, Dynamic Polymorphism

Abstract

Dynamic metrics capture the run time features of object-oriented languages, i.e., runtime polymorphism, dynamic binding, etc., that are not covered by static metrics. Therefore, in this paper, we derived a new approach to measuring the software reusability of a design pattern based on dynamic metrics. To achieve this, the authors proposed a model based on five parameters, i.e., polymorphism, inheritance, number of children, coupling, and complexity, to measure the reusability factor by using various soft computing techniques, i.e., Fuzzy, Neural Network, and Neuro-Fuzzy. Further, we also compared the proposed model with four existing machine learning algorithms. Lastly, we found that the proposed model using the neuro-fuzzy technique is trained well and predicts well with MAE (Mean absolute error) 0.003 and RMSE (Root mean square error) 0.009 based on dynamic metrics. Hence, it is concluded that dynamic metrics are a better predictor of the reusability factor than static metrics.

References

R. S. Pressman, Software Engineering – A Practitioner’s Approach, 7th ed., McGraw Hill, 2005.

S. Benlarbi, W. L. Melo, “Polymorphism measures for early risk prediction,” Proceedings of the International Conference on Software Engineering, 1999, pp. 334-344. https://doi.org/10.1145/302405.302652.

K. H. T. Choi, E. Tempero, “Dynamic measurement of polymorphism,” Proceedings of the Thirtieth Australasian Computer Science Conference, Victoria, Australia, 2007, vol. 62, pp. 211-220.

Manju, P. K. Bhatia, “Empirical validation of dynamic metrics using knowledge based approach,” International Journal of Advanced Research in Engineering and Technology, vol. 11, issue 12, pp. 3219-3230, 2020.

S. R. Chidamber, C. F. Kemerer, “A metrics suite for object oriented design,” IEEE Transactions on Software Engineering, vol. 20, issue 6, pp. 476-493, 1994. https://doi.org/10.1109/32.295895.

A. Mitchell, J. F. Power, “A study of the influence of coverage on the relationship between static and dynamic coupling metrics,” Science of Computer Programming, vol. 59, issue (1/2), pp. 4-25, 2006. https://doi.org/10.1016/j.scico.2005.07.002.

H. Lounis, T. Gayed, M. Boukadoum, “Using efficient machine-learning models to assess two important quality factors: Maintainability and reusability,” Proceedings of the 2011 Joint Conference of the 21st International Workshop on Software Measurement and the 6th International Conference on Software Process and Product Measurement, pp. 170-177, 2011, https://doi.org/10.1109/IWSM-MENSURA.2011.44.

M. Papamichail, T. Diamantopoulos, I. Chrysovergis, P. Samlidis, A. Symeonidis, “User perceived reusability estimation based on analysis of software repositories,” Proceedings of the IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE), 2018, pp. 49–54. https://doi.org/10.1109/MALTESQUE.2018.8368459.

R. Feldt, F. G. Neto, R. Torkar, “Ways of applying artificial intelligence in software engineering,” Proceedings of the 6th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, 2018, pp. 35–41.

D. Stefano, T. Menzies, “Machine learning for software engineering: case studies in software reuse,” Proceedings of 14th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2002), pp. 246–251, 2002.

S. I. Zahara, M. Ilyas, T. Zia, “A study of comparative analysis of regression algorithms for reusability evaluation of object-oriented based software components,” Proceedings of 2013 International Conference on Open-Source Systems and Technologies, 2013, pp. 75–80. https://doi.org/10.1109/ICOSST.2013.6720609.

S. S. Aksenova, Machine Learning with WEKA, WEKA Explorer Tutorial, 2004.

N. Padhy, R. Panigrahi, S. Baboo, “A systematic literature review of an object oriented metric: reusability,” Proceedings of the International Conference on Computational Intelligence and Networks, Bhubaneswar, 2015, pp. 190–191. https://doi.org/10.1109/CINE.2015.44.

D. Godara, O. P. Sangwan, “Neuro-fuzzy based approach to software reusability estimation,” Proceedings of the International Conference on Sustainable Computing Techniques in Engineering Science and Management (IJCTA), pp. 3811-3891, 2016.

O. D. Adekola, S. A. Idowu, S. O. Okolie, J. V. Joshua, A. O Akinsanya, M. O. Eze, E. Seun, “Software maintainability and reusability using cohesion metrics,” international journal of computer trends and technology (ijctt), vol. 54, pp. 63–73, 2017. https://doi.org/10.14445/22312803/IJCTT-V54P111.

M. Papamichail, T. Diamantopoulos, A. Symeonidis, “Software reusability dataset based on static analysis metrics and reuse rate information,” Journal of System and Software, vol. 27, 104687, 2019, https://doi.org/10.1016/j.dib.2019.104687.

P. Mangayarkarasi, R. Selvarani, “Dynamic reusability prediction model for SMEs based on realtime constraints,” International Journal of Engineering Trends and Technology – Special Issues, pp. 63-75, 2020.

D. Godara, O. P. Sangwan, “Software reusability estimation using machine learning techniques – A systematic literature review,” Proceedings of the Evolving Technologies for Computing, Communication and Smart World, Lecture Notes in Electrical Engineering, Springer, Singapore, vol. 694, pp. 53-68, 2021. https://doi.org/10.1007/978-981-15-7804-5_5.

J. Sanz-Rodriguez, J. M. Dodero, S. Sanchez-Alonso, “Metrics-based evaluation of learning object reusability,” Software Qual Journal, vol. 19, issue 1, pp. 121-140, 2011. https://doi.org/10.1007/s11219-010-9108-5.

A. K. M. Fazal-e Amin, A. Oxley, “Reusability assessment of open source components for software product lines,” International Journal on New Computer Architectures and Their Applications (IJNCAA), vol. 1, issue 3, pp. 519–533, 2011.

M. Mijač, Z. Stapic, “Reusability metrics of software components: Survey,” Proceedings of the Central European Conference on Information and Intelligent Systems, pp. 221-231, 2015. DOI: 10.13140/RG.2.1.3611.4642.

A. L. Imoize, D. Idowu, T. Bolaji, “A brief overview of software reuse and metrics in software engineering,” World Science News, vol. 122, pp. 56–70, 2019.

T. L. Saaty, “How to make a decision: The analytic hierarchy process,” European Journal of Operational Research, vol. 48, issue 1, pp. 9-26, 1990. https://doi.org/10.1016/0377-2217(90)90057-I.

F. Taibi, “Empirical analysis of the reusability of object-oriented program code in open-source software,” International Journal of Computer, Information, System and Control Engineering, vol. 8, issue 1, pp. 114–120, 2014.

V. Dimaridou, A. C. Kyprianidis, M. Papamichail, T. Diamantopoulos, A. Symeonidis, “Assessing the user-perceived quality of source code components using static analysis metrics,” Communications in Computer and Information Science (CCIS), vol. 868, pp. 3–27, 2018. https://doi.org/10.1007/978-3-319-93641-3_1.

Downloads

Published

2022-06-30

How to Cite

Duhan, M., & Bhatia, P. K. (2022). Software Reusability Estimation based on Dynamic Metrics using Soft Computing Techniques. International Journal of Computing, 21(2), 188-194. https://doi.org/10.47839/ijc.21.2.2587

Issue

Section

Articles