Метод статичного аналізу якості коду з допомогою машинного навчання
| dc.contributor.author | Прокоф'єв, Ігор | |
| dc.contributor.author | Prokofiev, Ihor | |
| dc.date.accessioned | 2025-10-30T12:14:43Z | |
| dc.date.available | 2025-10-30T12:14:43Z | |
| dc.date.issued | 2025 | |
| dc.description.abstract | У статті представлено модель для оцінювання якості програмного коду на основі існуючих атрибутів якості. Проведено огляд основних методів статичного аналізу коду, а також їхніх обмежень. Якість програмного забезпечення може визначатися різними підходами, зокрема: ручним та автоматизованим тестуванням, рецензією коду розробниками, виявленням дублікатів, а також вимірюванням ключових метрик за допомогою статичних аналізаторів. Оцінка якості коду є складним завданням, яке потребує комплексного підходу. Для перевірки ефективності запропонованої моделі було проведено експеримент із використанням набору C# файлів з реальних програмних проєктів, що охоплюють різні рівні складності. Розроблений інструмент автоматично сканує файли у вибраному каталозі, обробляє їх та експортує результати у форматі CSV. Результати експерименту підтвердили ефективність обраного підходу: було успішно ідентифіковано складні фрагменти коду та потенційні проблеми в архітектурі програмного забезпечення. Отримані дані можуть бути корисними для розробників під час оптимізації та рефакторингу коду. У подальших версіях інструменту передбачено розширення переліку аналізованих показників та підвищення точності оцінювання. Крім того, планується інтеграція механізмів розпізнавання антишаблонів та аномалій у коді за допомогою методів машинного навчання. | |
| dc.description.abstract | This paper introduces a comprehensive model for assessing the quality of source code by leveraging a combination of established code quality attributes and modern analysis techniques. The study begins with an overview of the fundamental methods of static code analysis, outlining their capabilities as well as inherent limitations, and situates them within the broader context of software quality assurance practices. While software quality can be examined through multiple complementary approaches—such as manual inspection, automated unit and integration testing, peer developer code reviews, duplicate code detection, and metric-based evaluation via static analysis tools—none of these approaches alone is sufficient for a reliable and holistic evaluation. Instead, effective code quality assessment requires a multifaceted strategy that integrates diverse perspectives and tools. The core contribution of this work lies in the design and experimental validation of a novel assessment tool. To verify its effectiveness, an empirical study was conducted using a dataset of C# source code files extracted from real-world software projects of varying scale and complexity. The tool automatically scans source files in a designated directory, processes them, and generates detailed reports in CSV format for further analysis. Experimental results demonstrated the ability of the model to successfully identify complex code fragments, redundant constructs, and potential architectural deficiencies. This not only provides actionable insights for developers but also supports informed decisions during refactoring and long-term codebase maintenance. The results confirm that the proposed approach significantly enhances the accuracy and efficiency of code quality evaluation, offering advantages over traditional methods by combining structured analysis with extensibility. Future research will focus on expanding the range of supported metrics, improving the precision of quality assessments, and incorporating advanced detection of anti-patterns and anomalies through machine learning techniques. These enhancements are expected to further strengthen the applicability of the model in diverse software engineering contexts, making it a valuable resource for developers, project managers, and quality assurance teams alike. | |
| dc.identifier.citation | Прокоф'єв І. Метод статичного аналізу якості коду з допомогою машинного навчання / І. Прокоф'єв // Вимірювальна та обчислювальна техніка в технологічних процесах. – 2025. – № 3. – С. 126-136. | |
| dc.identifier.uri | https://elar.khmnu.edu.ua/handle/123456789/19741 | |
| dc.language.iso | uk | |
| dc.publisher | Хмельницький національний університет | |
| dc.subject | якість коду | |
| dc.subject | атрибути якості коду | |
| dc.subject | code quality | |
| dc.subject | code quality attributes | |
| dc.subject.udc | 004.056:004.852:004.75 | |
| dc.title | Метод статичного аналізу якості коду з допомогою машинного навчання | |
| dc.title.alternative | Method of static code quality analysis using machine learning | |
| dc.type | Стаття |
Файли
Контейнер файлів
1 - 1 з 1
Ліцензійна угода
1 - 1 з 1
- Назва:
- license.txt
- Розмір:
- 4.26 KB
- Формат:
- Item-specific license agreed upon to submission
- Опис: