ДИВЕРСИФІКОВАНІ АНСАМБЛІ КЛАСИФІКАТОРІВ ДЛЯ ВИЯВЛЕННЯ ДЕФЕКТІВ ПРОГРАМНОГО КОДУ ЗА СТАТИЧНИМИ МЕТРИКАМИ ЯКОСТІ

Authors

  • Oleksii Hornostal
  • Viktor Chelak

DOI:

https://doi.org/10.26906/SUNZ.2026.3.150

Keywords:

дефекти програмного коду, статичні метрики якості, машинне навчання, класифікація, ансамблеві методи, диверсифікація ознак, виявлення вразливостей, мета-класифікатор

Abstract

Актуальність дослідження полягає у необхідності вдосконалення існуючих підходів до класифікації дефектів вихідного коду з метою своєчасного попередження можливих проблем з його виконанням та потенційних вторгнень. Об'єктом дослідження є процес автоматизованого виявлення дефектів програмного коду. Предметом дослідження є класифікаційні методи ансамблевого машинного навчання. Метою дослідження є підвищення якості ансамблевих класифікаторів в задачах класифікації дефектів програмного коду. Завдання дослідження: проаналізувати характеристики набору даних, побудувати послідовність ансамблевих моделей від одиночних класифікаторів до диверсифікованого ансамблю з метою класифікації потенційних дефектів програмних модулів, підтвердити статистичну значущість приросту якості на кожному етапі. Методи дослідження: методи попередньої обробки даних, методи відбору ознак, базові методи машинного навчання, ансамблеві методи, диверсифікаційні техніки, статистичні методи оцінювання. Результати дослідження. Експериментально підтверджено монотонне зростання якості класифікації шляхом ускладнення ансамблевої архітектури – від найкращого базового класифікатора Gradient Boosting (CV F1 = 0,798) до запропонованого методу розширеного диверсифікованого стекінгу (CV F1 = 0,824), який перевершив інші моделі за контрольованими метриками при найнижчій дисперсії та найкращому калібруванні ймовірностей. Висновки. За результатами дослідження запропоновано метод класифікації дефектів програмного коду, що поєднує диверсифікований стекінг на підпросторах ознак із додатковими декорельованими гілками на основі Extra Trees та адаптивним мета-класифікатором логістичної регресії. Загальний приріст якості наблизив досяжну точність до теоретичної верхньої межі, зумовленої наявністю шуму в розмітці набору даних.

Downloads

Download data is not yet available.

References

1. National Institute of Standards and Technology (2026), "NIST Updates NVD Operations to Address Record CVE Growth", NVD General Announcement, available at: https://www.nist.gov/news-events/news/2026/04/nist-updates-nvd-operationsaddress-record-cve-growth (accessed 01.08.2026).

2. IBM Security, and Ponemon Institute (2025), "Cost of a Data Breach Report 2025", IBM Security, available at: https://www.ibm.com/reports/data-breach (accessed 01.08.2026).

3. MITRE Corporation, and Cybersecurity and Infrastructure Security Agency (2024), "2024 CWE Top 25 Most Dangerous Software Weaknesses", available at: https://cwe.mitre.org/top25/archive/2024/2024_cwe_top25.html (accessed 01.08.2026).

4. Chidamber, S.R., and Kemerer, C.F. (1994), "A Metrics Suite for Object Oriented Design", IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 476–493, doi: https://doi.org/10.1109/32.295895 DOI: https://doi.org/10.1109/32.295895

5. Hornostal, O., and Chelak, V. (2025), "Classification of network attacks using machine learning methods in conditions of training data imbalance", Control, Navigation and Communication Systems, vol. 3, no. 81, pp. 64–71, doi: https://doi.org/10.26906/SUNZ.2025.3.064 DOI: https://doi.org/10.26906/SUNZ.2025.3.064

6. Gordieiev, O., Gordieieva, D., and Rainer, A. (2023), "Software Quality Assessment: Defect Life Cycle, Software Defect Profile, Its Types and Misalignments", International Conference on Software Quality, pp. 109–120, doi: https://doi.org/10.1007/978-3-031-31488-9_6 DOI: https://doi.org/10.1007/978-3-031-31488-9_6

7. Setia, S., Ravulakollu, K.K., Verma, K., Garg, S., Mishra, S.K. and Sharan, B. (2024), "Software Defect Prediction using Machine Learning", 2024 11th International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, pp. 560–566, doi: https://doi.org/10.23919/INDIACom61295.2024.10498707 DOI: https://doi.org/10.23919/INDIACom61295.2024.10498707

8. Alazba, A., and Aljamaan, H. (2022), "Software defect prediction using stacking generalization of optimized tree-based ensembles", Applied Sciences, vol. 12, no. 9, art. 4577, doi: https://doi.org/10.3390/app12094577 DOI: https://doi.org/10.3390/app12094577

9. Meng, F., Huang, R., and Wang, J. (2023), "A survey of software defects research based on deep learning", 2023 6th International Conference on Information Systems and Computer Networks (ISCON), pp. 1–5, doi: https://doi.org/10.1109/ISCON57294.2023.10112194 DOI: https://doi.org/10.1109/ISCON57294.2023.10112194

10. Olivares-Galindo, J. A., Sánchez-García, Á. J., Barrientos-Martínez, R. E., and Ocharán-Hernández, J. O. (2023), "Ensemble classifiers in software defect prediction: a systematic literature review", 2023 11th International Conference in Software Engineering Research and Innovation (CONISOFT), pp. 1–8, doi: https://doi.org/10.1109/CONISOFT58849.2023.00011 DOI: https://doi.org/10.1109/CONISOFT58849.2023.00011

11. Wolpert, D.H. (1992), "Stacked Generalization", Neural Networks, vol. 5, no. 2, pp. 241–259, doi: https://doi.org/10.1016/S0893-6080(05)80023-1 DOI: https://doi.org/10.1016/S0893-6080(05)80023-1

12. Mehta, A., Kaur, A., and Kaur, N. (2024), "Optimizing software fault prediction using voting ensembles in class imbalance scenarios", International Journal of Performability Engineering, vol. 20, no. 11, pp. 676–687, doi: https://doi.org/10.23940/ijpe.24.11.p4.676687 DOI: https://doi.org/10.23940/ijpe.24.11.p4.676687

13. Isong, B., and Igo, E. (2025), "Ensemble learning for software defect prediction: performance, practicality and future directions", Journal of Information Systems and Informatics, vol. 7, no. 3, pp. 2245–2291, doi: https://doi.org/10.51519/journalisi.v7i3.1171 DOI: https://doi.org/10.51519/journalisi.v7i3.1171

14. Ali, M., Mazhar, T., Al-Rasheed, A., Shahzad, T., Ghadi, Y.Y., and Khan, M.A. (2024), "Enhancing software defect prediction: a framework with improved feature selection and ensemble machine learning", PeerJ Computer Science, vol. 10, art. e1860, doi: https://doi.org/10.7717/peerj-cs.1860 DOI: https://doi.org/10.7717/peerj-cs.1860

15. Ho, T.K. (1998), "The Random Subspace Method for Constructing Decision Forests", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 20, no. 8, pp. 832–844, doi: https://doi.org/10.1109/34.709601 DOI: https://doi.org/10.1109/34.709601

16. Tang, Y., Dai, Q., Yang, M., Du, T., and Chen, L. (2023), "Software defect prediction ensemble learning algorithm based on adaptive variable sparrow search algorithm", International Journal of Machine Learning and Cybernetics, vol. 14, no. 6, pp. 1967–1987, doi: https://doi.org/10.1007/s13042-022-01740-2 DOI: https://doi.org/10.1007/s13042-022-01740-2

17. Gao, Y., and Yang, C. (2016), "Software defect prediction based on manifold learning in subspace selection", Proceedings of the 1st International Conference on Intelligent Information Processing (ICIIP), ACM, New York, pp. 1–6, doi: https://doi.org/10.1145/3028842.3028859 DOI: https://doi.org/10.1145/3028842.3028859

18. Gavrylenko, S., and Hornostal, O. (2023), "Study of methods for improving the meta-algorithm of the bagging classifier", Proceedings of the IEEE 4th KhPI Week on Advanced Technology, pp. 1–6, doi: https://doi.org/10.1109/KhPIWeek61412.2023.10312977 DOI: https://doi.org/10.1109/KhPIWeek61412.2023.10312977

19. Osei, S., Masegosa, A.R., and Masegosa, A.D. (2025), "Understanding the role of diversity in ensemble-based AutoML methods for classification tasks", IEEE Access, vol. 13, pp. 63566–63586, doi: https://doi.org/10.1109/ACCESS.2025.3554093 DOI: https://doi.org/10.1109/ACCESS.2025.3554093

20. Chelak, V., Hornostal, O., Chelak, Y., and Gavrylenko, S. (2025), "Advanced methods for classification quality assessment leveraging ROC analysis and multidimensional confusion matrix", Advanced Information Systems, vol. 9, no. 1, pp. 24–34, doi: https://doi.org/10.20998/2522-9052.2025.1.03 DOI: https://doi.org/10.20998/2522-9052.2025.1.03

21. Xu, J., Wang, F., and Ai, J. (2021), "Defect prediction with semantics and context features of codes based on graph representation learning", IEEE Transactions on Reliability, vol. 70, no. 2, pp. 613–625, doi: https://doi.org/10.1109/TR.2020.3040191 DOI: https://doi.org/10.1109/TR.2020.3040191

22. Croft, R., Babar, M.A., and Kholoosi, M.M. (2023), "Data quality for software vulnerability datasets", Proceedings of the IEEE/ACM 45th International Conference on Software Engineering (ICSE), pp. 121–133, doi: https://doi.org/10.1109/ICSE48619.2023.00022 DOI: https://doi.org/10.1109/ICSE48619.2023.00022

23. Pedregosa, F., Varoquaux, G., Gramfort, A. et al. (2011), "Scikit-learn: machine learning in Python", Journal of Machine Learning Research, vol. 12, pp. 2825–2830, available at: https://www.jmlr.org/papers/v12/pedregosa11a.html

Downloads

Published

2026-09-18

Most read articles by the same author(s)