SOFTWARE MODULES COUPLING MODELLING IN SOFTWARE DEVELOPMENT PROCESS SIMULATIONS USING PROBABALISTIC DISTRIBUTION OF MODULE CHANGE FREQUENCIES
DOI:
https://doi.org/10.35546/kntu2078-4481.2025.2.2.28Keywords:
modeling, simulation, modularity, evolutionary coupling, software development, lognormal distribution, algorithmAbstract
In today’s world, the software development productivity is not considered at the planning stage when choosing the architecture type for a future software project due to an inaccurate and overly complex process of estimating the necessary time and resources needed to build such a system. To enable research on the impact of different types of software architectures on productivity through simulation of corresponding software development processes, this study examines the approach to modeling the coupling between modules of a software system based on an analysis of the change history of 8 modular monolithic and microservice open-source projects. As a result of studying the modular structure and change history of the source code, it was found that there is a lognormal probability distribution both for the size of the software modules and their modification frequency, with linear dependence between them but different correlation parameters for different projects. The analysis of modules coupling based on the association rules mining from the history of their independent and simultaneous changes revealed a power function as the relationship between average values of both input and output coupling and the module change frequency, but the parameters of such a relationship also differed for different projects and were found to correlate with the number of modules in the software system being modeled. To optimize calculations during the simulation of the software development process, it was proposed to use independent module change frequencies instead of detailed modeling of each pair’s coupling, which involved investigating the parameters of the lognormal distribution of independent module change probabilities for each project and using linear regression to derive the coefficients of the dependence of the parameters of such a distribution on the number of modules in the software system. To further enhance computational efficiency of simulations, an algorithm for adjusting the generated module change frequencies was additionally proposed to increase the probability of at least one module modification being made at each iteration of simulation, as all change probabilities are independent and there is a non-zero chance of not making any changes to any module.
References
Шматковська Т., Коробчук Т. Сучасні інформаційні та комунікаційні технології в моделюванні бізнес-процесів. Економічний форум. 2023. № 1(3). С. 156–161. DOI: https://doi.org/10.36910/6775-2308-8559-2023-3-20
Saravanos, A., Curinga, M. X. Simulating the Software Development Lifecycle: The Waterfall Model. Applied System Innovation. 2023. Vol. 6. P. 108. DOI: https://doi.org/10.3390/asi6060108
Кордунова Ю. С., Фелтіновскі М., Придатко О. В., Смотр О. О. Математичне моделювання процесу розробки спеціалізованих програмних систем безпеко-орієнтованого спрямування. Вісник Львівського державного університету безпеки життєдіяльності. 2023. № 27, С. 23–31. DOI: https://doi.org/10.32447/20784643.27.2023.03
Приходько, С. Б., Приходько, Н. В., & Книрiк, К. О. Математичне моделювання трудомісткості розробки мобільних застосунків у фазі планування із врахуванням викидів. Комп’ютерне моделювання та оптимізація складних систем: матеріали V Міжнародної науково-технічної конференції. м. Дніпро, 6–8 листопада 2019 р. / Український державний хіміко-технологічний університет. Дніпро. 2019. С. 50. https://udhtu.edu.ua/wp-content/uploads/2023/08/cmoss_2019.pdf#page=50
J. A. García-García, J. G. Enríquez, M. Ruiz, C. Arévalo, A. Jiménez-Ramírez Software Process Simulation Modeling: Systematic literature review. Computer Standards & Interfaces. 2020. Vol. 70. P. 103425. DOI: https://doi.org/10.1016/j.csi.2020.103425
Panichella S., Rahman M. I., Taibi D. Structural Coupling for Microservices. Proceedings of the 11th International Conference on Cloud Computing and Services Science. 2021. Vol. 1. P. 280–287. DOI: https://doi.org/10.5220/0010481902800287
Apolinário D. R., de França B. B. A method for monitoring the coupling evolution of microservice-based architectures. Journal of the Brazilian Computer Society. 2021. Vol. 27(17). Article 17. DOI: https://doi.org/10.1186/s13173-021-00120-y
Vural H., Koyuncu M. Does Domain-Driven Design Lead to Finding the Optimal Modularity of a Microservice? IEEE Access. 2021. Vol. 9. P. 32721-32733. DOI: https://doi.org/10.1109/ACCESS.2021.3060895
Koppel J., Jackson D. Demystifying dependence. Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. 2020. P. 48–64. DOI: https://doi.org/10.1145/3426428.3426916
Rolfsnes T. et al. Generalizing the Analysis of Evolutionary Coupling for Software Change Impact Analysis. 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 2016. P. 201–212. DOI: https://doi.org/10.1109/SANER.2016.101
Mondal M. et al. Historank: History-based ranking of co-change candidates. 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER). 2020. P. 240–250. DOI: https://doi.org/10.1109/SANER48275.2020.9054869







