CFP last date
22 July 2024
Reseach Article

Examining Software Coupling and Cohesion Patterns using Social Network Analysis

by Mohamed Maddeh
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 186 - Number 19
Year of Publication: 2024
Authors: Mohamed Maddeh
10.5120/ijca2024923579

Mohamed Maddeh . Examining Software Coupling and Cohesion Patterns using Social Network Analysis. International Journal of Computer Applications. 186, 19 ( May 2024), 10-19. DOI=10.5120/ijca2024923579

@article{ 10.5120/ijca2024923579,
author = { Mohamed Maddeh },
title = { Examining Software Coupling and Cohesion Patterns using Social Network Analysis },
journal = { International Journal of Computer Applications },
issue_date = { May 2024 },
volume = { 186 },
number = { 19 },
month = { May },
year = { 2024 },
issn = { 0975-8887 },
pages = { 10-19 },
numpages = {9},
url = { https://ijcaonline.org/archives/volume186/number19/examining-software-coupling-and-cohesion-patterns-using-social-network-analysis/ },
doi = { 10.5120/ijca2024923579 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2024-05-24T23:32:57.349264+05:30
%A Mohamed Maddeh
%T Examining Software Coupling and Cohesion Patterns using Social Network Analysis
%J International Journal of Computer Applications
%@ 0975-8887
%V 186
%N 19
%P 10-19
%D 2024
%I Foundation of Computer Science (FCS), NY, USA
Abstract

Social network analysis (SNA) is an emerging research area that has gained significant attention in recent years. Analyzing OO program through SNA can provide insights into how a program component, classes and methods interact and collaborate. In fact, an OO program is composed of a set of classes that interact with each other. Considering a class as a node and the interaction as a relationship, we can take advantage from SNA capabilities to the benefit of OO programming. Therefore, SNA is an excellent way for detecting and quantifying coupling and cohesion in an Object Oriented Programming (OOP) based on the class interaction, by analyzing the connections between classes and methods. An accurate coupling and cohesion detection helps developers to optimize codes and improve its overall performance and maintainability. In this paper, we represent four java open source projects (JUnit 5.10.2, Spring 6.1.4, Apache Commons BCEL 6.8.2 and Guava 33.0) as a social network. We also, applied SNA techniques to identify lowly cohesive classes and highly coupled classes.

References
  1. Z. Junlong and L. Yu, "Degree Centrality, Betweenness Centrality, and Closeness Centrality in Social Network," in 2nd International Conference on Modelling, Simulation and Applied Mathematics (MSAM2017), Bangkok, Thailand, March 2017.
  2. U. Brandes, " A Faster Algorithm for Betweenness Centrality," Journal of Mathematical Sociology , pp. 25(2):163-177, 2001.
  3. T. LewowskiLech and M. Madeyski, "How far are we from reproducible research on code smell detection? A systematic literature review.," Information and Software Technology, vol. 144, no. 3, p. 106783, 2022.
  4. E. Fernandes, J. Oliveira, G. Vale, T. Paiva and E. Figueiredo, "A Review-based Comparative Study of Bad Smell Detection Tools," in 20th International Conference on Evaluation and Assessment in Software Engineering (EASE), Ireland, June 2006.
  5. D. Di Nucci, F. Palomba, D. Tamburri, A. Serebrenik and A. De Lucia, "Detecting Code Smells using Machine Learning Techniques: Are We There Yet?," in 25th IEEE International Conference on Software Analysis, Evolution, and Reengineering, Italy, March 2018.
  6. Z. Wei, Z. Mingyang, Y. Ling and F. Fengchun, "Social network analysis and public policy: what’s new?," Journal of Asian Public Policy , vol. 16, no. 2, pp. 115-145 , 2021.
  7. P. B. Stephen, E. Martin G, J. Jeffrey C and A. Filip, Analyzing Social Networks Third Edition, SAGE Publications Ltd;, February 26, 2024.
  8. B. Anuja and M. P. S, "Visualization and Interpretation of Gephi and Tableau: A Comparative Study," in International Conference on Advances in Electrical and Computer Technologies, Coimbatore, India, February 2021.
  9. "A New Metric for Class Cohesion for Object," The International Arab Journal of Information Technology, vol. 3, no. 17, May 2020.
  10. Y. Afrah and H. Mustafa, "An Approach to Automatically Measure and Visualize Class Cohesion in Object-Oriented Systems," in International Conference on Decision Aid Sciences and Application (DASA), Sakheer, Bahrain, 2020.
  11. M. K. Bhatia, "A Survey of Static and Dynamic Metrics Tools for Object Oriented Environment," Emerging Research in Computing, Information, Communication and Applications, vol. 790, pp. 521-530, 2021.
  12. M. Lanza and R. Marinescu, "Object-oriented metrics in practice," Springer, Heidelberg, 2006.
  13. A. Amjad and M. Alshayeb, "A metrics suite for UML model stability," Softw Syst Model, December 2016.
  14. M. Zhang, T. Hall and N. Baddoo, "Code Bad Smells: a review of current knowledge," Journal of Software Maintenance and Evolution: Research and Practice, vol. 23, no. 3, p. 179–202, October 2010.
  15. B. Boczar, M. Pytka and L. Madeyski, "Which Static Code Metrics Can Help to Predict Test Case Effectiveness? New Metrics and Their Empirical Evaluation on Projects Assessed for Industrial Relevance," Developments in Information & Knowledge Management for Business Applications, vol. 3, p. 201–215, 2022.
  16. M. Maddeh, Ayouni, Sarra, S. Alyahya and F. Hajjej, "Decision tree-based Design Defects Detection," IEEE Access, vol. 9, pp. 71606-71614, 2021.
  17. S. Badri and M. Moudache, "Using Metrics for Risk Prediction in Object-Oriented," Journal of Software, vol. 17, no. 1, pp. 1-20, 2022.
  18. K. Erni and C. Lewerentz, "Applying design metrics to object-oriented frameworks," IEEE METRICS, p. 64–74, 1996.
  19. B. Kitchenham, Software metrics: Measurement for software process improvement, NCC Blackwell Publishers, 1996.
  20. M. Mohamed, A.-O. Shaha, A. Sultan and H. S. A. Fahima, "A comprehensive MCDM-based approach for object-oriented metrics selection problems," Applied Sciences, vol. 13, no. 6, p. 3411, 2023.
  21. T. Saurabh and R. Santosh, "Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study," in 11th Innovations in Software Engineering Conference, India, 09 February 2018.
  22. H. Martin and M. Behzad, "Measuring coupling and cohesion in object-oriented systems," in Int. Symposium on Applied Corporate Computing, Monterrey, Mexico, Oct. 25-27, 1995.
  23. I. M, K. S. A. Arvind, S. J. A. Bader and A. Alharbi, "A Component Selection Framework of Cohesion and Coupling Metrics," Computer Systems Science & Engineering, vol. 44, no. 1, p. 351–365, January 2022.
  24. I. G. Mazen and A. Gary, "Quality Metrics measurement for Hybrid Systems (Aspect Oriented Programming – Object Oriented Programming)," Sustainable Future and Technology Development , vol. 3, 2021.
  25. B. Sarika and P. Rashmi, "Cohesion Measure for Restructuring," in Information and Communication Technology for Intelligent Systems, Ahmedabad, India, october 2020.
  26. M. Misbhauddin and M. Alshayeb, "UML model refactoring: a systematic literature review," Empirical Software Engineering, vol. 20, no. 1, pp. 206-251, 2013.
  27. S. Freire, A. Passos, M. Mendonça, C. Sant’Anna and R. O. Spínola, "On the Influence of UML Class Diagrams Refactoring on Code Debt: A Family of Replicated Empirical Studies," in Euromicro Conference on Software Engineering and Advanced Applications, 2020.
  28. R. Malveau, W. J. Brown, H. McCormick and T. Mowbray, AntiPatterns : Refactoring Software, Architecture and Projects in Crisis, John Wiley & Sons, 1998.
  29. A. Dmitry, I. Maqsudjon, K. Artem, S. Anton and Z. Sergey, "Validating New Method for Measuring Cohesion in Object-Oriented Projects," Procedia Computer Science, vol. 192, pp. 4865-4876, 2021.
Index Terms

Computer Science
Information Sciences

Keywords

Object Oriented Programming Coupling Cohesion Social Network Analysis Refactoring Maintainability.