СИСТЕМА ОЦІНЮВАННЯ ЯКОСТІ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМНОГО КОДУ НА ОСНОВІ СТАТИЧНОГО АНАЛІЗУ ТА ВІЗУАЛІЗАЦІЇ МЕТРИК
DOI:
https://doi.org/10.32782/mathematical-modelling/2025-8-2-16Ключові слова:
якість програмного коду, статичний аналіз, візуалізація метрик, об'єктно-орієнтоване програмуванняАнотація
Статтю присвячено розробленню системи статичного аналізу програмного коду, яка об'єднує аналіз, візуалізацію та інтерпретацію метрик якості програмного забезпечення. Актуальність дослідження зумовлена недостатньою ефективністю існуючих інструментів у забезпеченні комплексної оцінки коду та виявлення про- блемних ділянок на ранніх етапах розроблення. Більшість доступних рішень не пропонують інтерактивної візу- алізації результатів, що ускладнює контроль якості та підтримку архітектурних рішень. Метою дослідження є створення системи Code Analyzer, яка здійснює статичний аналіз коду, надає інте- рактивну візуалізацію та допомагає у розумінні метрик якості коду. Ця система сприяє своєчасному виявленню проблем і покращенню прийняття рішень архітекторами програмного забезпечення. Поточна версія підтримує мову Python та обробляє різні групи метрик: загальні метрики, метрики Холстеда, метрики складності й під- тримуваності, а також об'єктно-орієнтовані та архітектурні метрики. Code Analyzer використовує бібліотеки Radon для базових метрик, аналіз абстрактного синтаксичного дерева (AST) для більш глибокого аналізу, а також розроблені алгоритми для обчислення специфічних метрик, таких як RFC, LCOM, Ca, Ce. Система надає користувачу можливість завантажити код у форматах .py або .zip і в результаті отримати візуалізацію метрик у вигляді графіків, таблиць та рейтингів. Програмна система може експортувати звіти у формати CSV та Excel для подальшого аналізу. Одним із ключових компонентів системи є інтерактивна візуалізація результатів, яка дає змогу зручно аналізувати складність коду та виявляти потенційно проблемні ділянки. Візуалізація надає не лише кількісні метрики, а й інтерпретує їх значення для покращення процесу рефакторингу коду та прийняття рішень. Інтерфейс дає змогу сортувати та фільтрувати дані, що забезпечує ефективне управління великими проєктами. Окрім того, система пропонує інтерпретацію результатів через радарні графіки та дає конкретні рекомендації щодо покращення якості коду. Code Analyzer реалізує комплексний підхід до статичного аналізу та візуалізації метрик якості програмного забезпечення, що дає змогу знижувати ризики помилок, оптимізувати процес розроблення та підтримки коду, а також підвищувати ефективність командної роботи в рамках великих проєктів.
Посилання
Ardito L., Coppola R., Barbato L. Verga D. A Tool-Based Perspective on Software Code Maintainability Metrics: A Systematic Literature Review. Scientific Programming. 2020. № 2020(1). P. 1–26. DOI: https://doi.org/10.1155/2020/8840389
Rashid J., Mahmood T., Nisar M.W. A Study on Software Metrics and its Impact on Software Quality. Technical Journal, University of Engineering and Technology (UET) Taxila, Pakistan. 2019. № 24(1). P. 1–14. DOI: https://doi.org/10.48550/arXiv.1905.12922
Kafura D. Reflections on McCabe’s Cyclomatic Complexity. IEEE Transactions on Software Engineering. 2025. № 51(3). P. 700–705. DOI: https://doi.org/10.1109/TSE.2025.3534580
Heričko T., Šumak B. Exploring Maintainability Index Variants for Software Maintainability Measurement in Object-Oriented Systems. Applied Sciences. 2023. № 13(5). P. 2972. DOI: https://doi.org/10.3390/app13052972
Filó T.G.S., Bigonha M.A.S., Ferreira K.A.M. Evaluating Thresholds for Object-Oriented Software Metrics. Journal of the Brazilian Computer Society. 2024. № 30(1). P. 313–346. DOI: https://doi.org/10.5753/jbcs.2024.3373
Santos D., Resende A., de Castro Lima, E., Freire A. Software Instability Analysis Based on Afferent and Efferent Coupling Measures. Journal of Software. 2017. № 12(1). P. 19–34. DOI: https://doi.org/10.17706/jsw.12.1.19-34
Radon Project. Radon: Code metrics in Python. PyPI. URL: https://pypi.org/project/radon/ (дата звернення: 15.09.2025).
Python Software Foundation. AST – Abstract Syntax Trees. In Python documentation (version 3). URL: https://docs.python.org/3/library/ast.html (дата звернення: 15.09.2025).
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.






