Автоматизоване виявлення вад архітектури програмного модуля з використанням графової моделі візуалізації
DOI:
https://doi.org/10.18523/2617-3808.2025.8.167-173Ключові слова:
програмування, програмний модуль, архітектура програмного забезпечення (ПЗ), оцінювання якості ПЗ, візуалізація архітектури, автоматизований статичний аналіз, шаблони проєктування, метрики, зв’язність програмного коду, згуртованість програмного кодуАнотація
У цій статті описано новий підхід до автоматизованого виявлення вад проєктування програмного модуля з використанням моделі візуалізації архітектури у формі графа із застосуванням додаткових алгоритмів аналізу. Запропонований спосіб дозволяє виявити поширені вади та інформацію про них у легкому для сприйняття поданні з використанням лише вихідного коду програми. У статті розглянуто чотири ознаки наявності помилок при проєктуванні в контексті ООП, зокрема порушеної згуртованості, зв’язності і циклічних залежностей, а також способи їх виявлення та представлення у моделі архітектури. На реальних прикладах виконано автоматизоване виявлення вад із використанням розробленого інструменту для мови Swift з підтвердженням їх наявності у процесі детального аналізу кодової бази.
Посилання
- Bobrov, A. (2020). 2048 [Source code]. GitHub. https://github.com/aibobrov/2048.
- Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20 (6), 476–493. https://doi.org/10.1109/32.295895.
- Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: Improving the design of existing code. Addison Wesley Professional.
- Frankiv, O. O. (2023). Application of augmented reality for software module architecture visualization. Scientific Notes of NaUKMA, 5, 26–30. https://doi.org/10.18523/2617-3808.2022.5.26-30 [in Ukrainian].
- Frankiv, O. O., & Hlybovets, M. M. (2024). Automated visualization of software architecture components for Swift. Cybernetics and Systems Analysis, 60 (6), 190–198. https://doi.org/10.1007/s10559-024-00737-9 [in Ukrainian].
- Lenarduzzi, V., Pecorelli, F., Saarimäki, N., Lujan, S., & Palomba, F. (2022). A critical comparison on six static analysis tools: Detection agreement and precision. SSRN Electronic Journal. https://doi.org/10.2139/ssrn.4044439.
- Li, R., Liang, P., Soliman, M., & Avgeriou, P. (2022). Understanding software architecture erosion: A systematic mapping study. Journal of Software: Evolution and Process, 34 (3), e2423. https://doi.org/10.1002/smr.2423.
- Schneider, S., Bakhtin, A., Li, X., Soldani, J., Brogi, A., Černý, T., & Scandariato, R. (2025). Comparison of static analysis architecture recovery tools for microservice applications. Empirical Software Engineering, 30, 128. https://doi.org/10.1007/s10664-025-10686-2.
- Tang, M.-H., Kao, M.-H., & Chen, M.-H. (1999). An empirical study on object-oriented metrics. In Proceedings of the Sixth International Software Metrics Symposium (pp. 242–249). https://doi.org/10.1109/metric.1999.809745.
- Voas, J., & Kuhn, R. (2017). What happened to software metrics? Computer, 50 (5), 88–98. https://doi.org/10.1109/MC.2017.144.
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2025 O. Frankiv

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Автори, які публікуються у цьому журналі, погоджуються з такими умовами:
а) Автори зберігають за собою авторські права на твір на умовах ліцензії CC BY 4.0 Creative Commons Attribution International License, котра дозволяє іншим особам вільно поширювати (копіювати і розповсюджувати матеріал у будь-якому вигляді чи форматі) та змінювати (міксувати, трансформувати, і брати матеріал за основу для будь-яких цілей, навіть комерційних) опублікований твір на умовах зазначення авторства.
б) Журнал дозволяє автору (авторам) зберігати авторські права без обмежень.
в) Автори мають право укладати самостійні додаткові угоди щодо поширення твору (наприклад, розміщувати роботу в електронному репозитарії), за умови збереження посилання на його першу публікацію. (Див. Політика Самоархівування)
г) Політика журналу дозволяє розміщення авторами в мережі Інтернет (наприклад, у репозитаріях) тексту статті, як до подання його до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).

