Volume 17 , Issue 1 , PP: 81-102, 2026 | Cite this article as | XML | Html | PDF | Full Length Article
Zeyd Saeed 1 * , Mustafa Ismael Khudair 2 , Ahmed Khader Ali Ibrahim 3 , Rahman Nahi Abid 4
Doi: https://doi.org/10.54216/JCIM.170108
In modern software engineering, monolithic code structures are increasingly incompatible with the flexibility demanded by today’s platforms. These tightly coupled systems pose challenges for scalability, integration, and secure deployment. This paper presents a method for restructuring monolithic Java classes into optimized, reusable software components. We analyze each class using 19 object-oriented metrics from the CKJM suite, evaluating cohesion and coupling properties. Using our proposed framework—Good Global Optimization Dynamic Weighted Metrics (GGODWM)—we cluster interrelated classes and transform them into high-level components suitable for microservice environments. These components are evaluated within a Component Base Redesign Structure (CBRS) environment to measure reusability. Our experimental results show a 52% improvement in cohesion and coupling balance, outperforming traditional Turbo_MQ-based metrics. By enhancing component modularity and reducing interdependencies, the proposed approach contributes to more secure and maintainable code, thus supporting cybersecurity goals such as reduced attack surface and easier vulnerability management.
Software engineering , Metrics , Object-oriented programming (OOP)
[1] O. Of, “Empirical Study of Object-Oriented Metrics,” vol. 5, no. 8, pp. 149–173, 2006.
[2] A. Ampatzoglou, S. Bibi, A. Chatzigeorgiou, P. Avgeriou, and I. Stamelos, “Reusability Index: A Measure for Assessing Software Assets Reusability,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), R. Capilla, B. Gallina, and C. Cetina, Eds., Cham: Springer International Publishing, 2018, pp. 43–58. doi: 10.1007/978-3-319-90421-4_3.
[3] R. Anguswamy and W. B. Frakes, “A Study of Reusability, Complexity, and Reuse Design Principles,” International Symposium on Empirical Software Engineering and Measurement, pp. 161–164, 2012, doi: 10.1145/2372251.2372280.
[4] G. H. Anthes, “Software Reuse Plans Bring Paybacks,” ComputerWorld, vol. 27, no. 49, pp. 73–76, 1993.
[5] M. F. Bertoa, J. M. Troya, and A. Vallecillo, “Measuring the Usability of Software Components,” Journal of Systems and Software, vol. 79, no. 3, pp. 427–439, 2006, doi: 10.1016/j.jss.2005.06.026.
[6] S. Bi, X. Dong, and S. Xue, “A Measurement Model of Reusability for Evaluating Component,” 2009 1st International Conference on Information Science and Engineering, ICISE 2009, no. 2, pp. 20–22, 2009, doi: 10.1109/ICISE.2009.58.
[7] M. A. S. Boxall and S. Araban, “Interface Metrics for Reusability Analysis of Components,” Proceedings of the Australian Software Engineering Conference, ASWEC, vol. 2004, pp. 40–51, 2004, doi: 10.1109/ASWEC.2004.1290456.
[8] H. Zuse, “Reply to: Property-Based Software Engineering Measurement,” IEEE Transactions on Software Engineering, vol. 23, no. 8, p. 533, 1997, doi: 10.1109/32.624309.
[9] I. Crnković, S. Sentilles, V. Aneta, and M. R. V. Chaudron, “A Classification Framework for Software Component Models,” IEEE Transactions on Software Engineering, vol. 37, no. 5, pp. 593–615, 2011, doi: 10.1109/TSE.2010.83.
[10] W. B. Frakes and G. Succi, “An Industrial Study of Reuse, Quality, and Productivity,” Journal of Systems and Software, vol. 57, no. 2, pp. 99–106, 2001, doi: 10.1016/S0164-1212(00)00121-7.
[11] A. B. Furht, Handbook of Internet Computing. CRC Press, 2019. doi: 10.1201/9781351072632.
[12] A. Gosain and G. Sharma, “Object-Oriented Dynamic Complexity Measures for Software Understandability,” Innovations in Systems and Software Engineering, vol. 13, no. 2–3, pp. 177–190, 2017, doi: 10.1007/s11334-017-0304-3.
[13] A. Rathee and J. K. Chhabra, “Reusability in Multimedia Softwares Using Structural and Lexical Dependencies,” Multimedia Tools and Applications, vol. 78, no. 14, pp. 20065–20086, 2019, doi: 10.1007/s11042-019-7382-1.
[14] G. Gui and P. D. Scott, “Measuring Software Component Reusability by Coupling and Cohesion Metrics,” Journal of Computers, vol. 4, no. 9, pp. 797–805, 2009, doi: 10.4304/jcp.4.9.797-805.
[15] A. Rathee and J. K. Chhabra, “Metrics for Reusability of Java Language Components,” Journal of King Saud University - Computer and Information Sciences, vol. 34, no. 8, pp. 5533–5551, Sep. 2022, doi: 10.1016/j.jksuci.2022.05.010.
[16] M. D. Papamichail, T. Diamantopoulos, and A. L. Symeonidis, “Software Reusability Dataset Based on Static Analysis Metrics and Reuse Rate Information,” Data in Brief, vol. 27, p. 104687, 2019, doi: 10.1016/j.dib.2019.104687.
[17] R. Harrison, S. J. Counsell, and R. V. Nithi, “An Evaluation of the MOOD Set of Object-Oriented Software Metrics,” IEEE Transactions on Software Engineering, vol. 24, no. 6, pp. 491–496, 1998, doi: 10.1109/32.689404.
[18] L. X. Hqj et al., “3DUDPHWHU (VWLPDWLRQ 0HWKRG RI ([SHULPHQWDO’ DWD % DVHG RQ UH \’ LVWDQFH 0HDVXUH,” pp. 438–441, 2020.
[19] J. Guerrero-García, J. M. González-Calleros, J. Vanderdonckt, and J. Muñoz-Arteaga, “A Theoretical Survey of User Interface Description Languages: Preliminary Results,” 2009 Latin American Web Congress - Joint LA-WEB/CLIHC Conference, pp. 36–43, 2009, doi: 10.1109/LA-WEB.2009.40.
[20] V. Gupta and J. K. Chhabra, “Dynamic Cohesion Measures for Object-Oriented Software,” Journal of Systems Architecture, vol. 57, no. 4, pp. 452–462, 2011, doi: 10.1016/j.sysarc.2010.05.008.
[21] M. D. Papamichail and A. L. Symeonidis, “A Generic Methodology for Early Identification of Non-Maintainable Source Code Components through Analysis of Software Releases,” Information and Software Technology, vol. 118, p. 106218, 2020, doi: 10.1016/j.infsof.2019.106218.
[22] M. D. Papamichail, T. Diamantopoulos, and A. L. Symeonidis, “Measuring the Reusability of Software Components Using Static Analysis Metrics and Reuse Rate Information,” Journal of Systems and Software, vol. 158, p. 110423, 2019, doi: 10.1016/j.jss.2019.110423.
[23] J. F. Hair, C. M. Ringle, and M. Sarstedt, “Partial Least Squares Structural Equation Modeling: Rigorous Applications, Better Results and Higher Acceptance,” Long Range Planning, vol. 46, no. 1–2, pp. 1–12, 2013, doi: 10.1016/j.lrp.2013.01.001.
[24] A. Pawar and V. Mago, “Calculating the Similarity Between Words and Sentences Using a Lexical Database and Corpus Statistics,” arXiv preprint arXiv:1802.05667, 2018, [Online]. Available: http://arxiv.org/abs/1802.05667.
[25] J. Zhang, Y. Liu, and T. Wang, "A Framework for Measuring Software Component Reusability Based on Design Patterns," “Journal of Software Engineering and Applications”, vol. 14, no. 3, pp. 113-126, 2021. doi: 10.4236/jsea.2021.143008.
[26] S. Kumar and P. Sharma, "Evaluating Reusability and Maintainability of Software Components Using Metrics," “International Journal of Software Engineering and Knowledge Engineering”, vol. 34, no. 2, pp. 145-163, 2023. doi: 10.1142/S0218194023500057.
[27] H. Washizaki, H. Yamamoto, and Y. Fukazawa, “A Metrics Suite for Measuring Reusability of Software Components,” Proceedings - International Software Metrics Symposium, vol. 2003-Janua, pp. 211–223, 2003, doi: 10.1109/METRIC.2003.1232469.
[28] B. Koteska and G. Velinov, “Component-Based Development: A Unified Model of Reusability Metrics,” Advances in Intelligent Systems and Computing, vol. 207 AISC, pp. 335–344, 2013, doi: 10.1007/978-3-642-37169-1_33.
[29] J. Sametinger, Software Engineering with Reusable Components. Springer Science & Business Media, 1997. doi: 10.1007/978-3-662-03345-6.
[30] A. Sharma, R. Kumar, and P. S. Grover, “Empirical Evaluation and Validation of Interface Complexity Metrics for Software Components,” International Journal of Software Engineering and Knowledge Engineering, vol. 18, no. 7, pp. 919–931, 2008, doi: 10.1142/S0218194008003957