<link rel="stylesheet" href="styles.f3b1fba60ec7970c.css">

Інтелектуальна система підтримки прийняття рішень для оцінювання якості об’єктно орієнтованих кодових баз

Вантажиться...
Ескіз

Дата

Науковий керівник

Редактор

Інші учасники

Відповідальний

Назва журналу

Номер ISSN

Назва тому

Альтернативна назва

Intelligent Decision Support System for Evaluating the Quality of Object-Oriented Codebases

Анотація

Запропоновано методологію та подано результати розроблення інтелектуальної системи підтримки прийняття рішень (СППР) для автоматизованого оцінювання архітектурної якості об’єктно орієнтованого програмного забезпечення. Основою запропонованого підходу є інформаційно екстремальна інтелектуальна технологія (ІЕІТ), що забезпечує побудову адаптивного класифікатора класів за показниками згуртованості коду. Розроблена система поєднує кількісні метрики (LCOM2–LCOM5 і YALCOM) з інформаційним критерієм оптимізації, що дає змогу виконувати класифікацію програмних компонентів і пояснювати отримані результати через значення метрик. Під час експериментів на вибірці зі ста Java класів досягнуто оптимальне значення інформаційного критерію E* = 0,55, що відповідає високій точності розпізнавання. Система виявила 78  класів з потенційними архітектурними дефектами та зменшила кількість хибнопозитивних сповіщень порівняно з відомими статичними аналізаторами SonarQube та PMD. СППР може бути інтегрована у середовище CI/CD для безперервного контролю якості коду та надає пояснювальні рекомендації щодо рефакторингу. Застосування інформаційно-екстремального підходу показало доцільність у задачах оцінювання архітектурної якості, проте потребує подальших досліджень на більших вибірках зі створення гібридних моделей і розширення набору програмних метрик.
The paper presents the methodology and results of developing an intelligent decision support system (DSS) for the automated assessment of the architectural quality of object-oriented software. The proposed approach is based on information-extreme intelligent technology (IEIT), which provides the construction of an adaptive classifier of program classes according to code cohesion indicators. The developed system combines quantitative metrics, namely LCOM2–LCOM5 and YALCOM, with an information-based optimization criterion, which makes it possible to classify software components and explain the obtained results through metric values. During the experiments on a dataset of one hundred Java classes, the optimal value of the information criterion E* = 0.55 was achieved, which corresponds to a high recognition accuracy. The system identified 78 classes with potential architectural defects and reduced the number of false-positive alerts compared with well-known static analyzers, such as SonarQube and PMD. The DSS can be integrated into a CI/CD environment for continuous code quality monitoring and provides explainable refactoring recommendations. The application of the information-extreme approach demonstrated its efficiency in architectural quality assessment tasks; however, further research is required using larger datasets, hybrid models, and an extended set of software metrics.

Опис

Мова

Посилання на публікацію

Серія, номер

ISBN

ББК

Інші ідентифікатори

Пов’язані матеріали

Спонсорська підтримка

Правовласник

Бібліографічний опис

Паращенко В. А., Берест О. Б. Інтелектуальна система підтримки прийняття рішень для оцінювання якості об’єктно орієнтованих кодових баз // Вісник Вінницького політехнічного інституту. 2026. № 4. С. 8-17. DOI: https://doi.org/10.31649/1997-9266-2026-187-4-8-17.

Схвалення

Рецензія

Доповнено

Цитується в

Список використаної літератури (18)

  1. A. Trautsch, S. Herbold, and J. Grabowski, “Are automated static analysis tools worth it?” Empirical Software Engineering, vol. 28, no. 3, p. 66, 2023. https://doi.org/10.1007/s10664-023-10301-2.
  2. X. Liu, and G. Woo, “Using SonarQube to enhance the accuracy of programming assignment evaluation,” in Proc. INTED2019, 2019. https://doi.org/10.21125/inted.2019.1310.
  3. S. A. Licorish, and M. Wagner, “Combining GIN and PMD for code improvements,” in Proc. GECCO Companion, 2022, pp. 790-793. https://doi.org/10.1145/3520304.3528772.
  4. A. Trautsch, S. Herbold, and J. Grabowski, “Empirical analysis of static analysis efficiency,” Empirical Software Engineering, vol. 28, p. 66, 2023. https://doi.org/10.1007/s10664-023-10301-2.
  5. M. Shen, A. Pillai, B. A. Yuan, J. C. Davis, and A. Machiry, “An empirical study on the use of static analysis tools in embedded software,” arXiv preprint arXiv:2310.00205, 2023. https://doi.org/10.48550/arXiv.2310.00205.
  6. S. D. B. Effendi et al., “A language-agnostic framework for mining static analysis rules from code changes,” in Proc. ICSESEIP, 2023. https://doi.org/10.1109/ICSE-SEIP58684.2023.00035.
  7. J.-M. Mineau and J.-F. Lalande, “Evaluating the reusability of Android static analysis tools,” in Proc. Int. Conf. Software Reuse, 2024, pp. 153-170, https://doi.org/10.1007/978-3-031-66459-5_10.
  8. A. Ampatzoglou, et al., “Applying the Single Responsibility Principle in industry,” in Proc. EASE Conf., 2019, pp. 347-352. https://doi.org/10.1145/3319008.3320125.
  9. G. Cairo, G. Carneiro, and M. Monteiro, “The impact of code smells on software bugs: A systematic review,” Information, vol. 9, no. 11, p. 273, 2018. https://doi.org/10.3390/info9110273.
  10. J. Martins, C. Bezerra, A. Uchôa, and A. Garcia, “How do code smell co-occurrences removal impact internal quality attributes?” in Proc. Brazilian Symp. Software Engineering, 2021, pp. 54-63, https://doi.org/10.1145/3474624.3474642.