Побудова моделі дефектності програм: вибір метрик

Автор(и)

  • Віталій Степанович Яковина Національний університет «Львівська політехніка, вул. Степана Бандери, 12. Львів, 79000, Україна https://orcid.org/0000-0003-0133-8591
  • Іван Ігорович Симець Національний університет «Львівська політехніка, вул. Степана Бандери, 12. Львів, 79000, Україна https://orcid.org/0000-0003-1873-3168

DOI:

https://doi.org/10.15276/aait.04.2021.5

Ключові слова:

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

Анотація

Дана стаття націлена на удосконалення статичних моделей надійності ПЗ за рахунок використання методів машинного
навчання для вибору метрик коду ПЗ, що найсильніше впливають на його надійність. У дослідженні було використано злитий
датасет з репозиторію PROMISE Software Engineering, який містив дані про тестування програмних модулів п’яти програм (КС1,
КС2, PC1, CM1, JM1) та двадцять одну метрику коду. Для підготовленої вибірки було здійснено вибір найважливіших ознак, які
впливають на якість програмного коду за допомогою наступних методів вибору ознак: Boruta, Step-wise selection, Exhaustive
Feature Selection, Random Forest Importance, LightGBM Importance, Genetic Algorithms, Principal Component Analysis, Xverse python.
На основі голосування за результатами роботи методів вибору ознак побудовано статичну (детерміністичну) модель надійності
програмного забезпечення, яка встановлює взаємозв’язок між ймовірністю появи дефекту в програмному модулі та метриками
його коду. Показано, що в цю модель входять такі метрики коду як кількість гілок програми, кількість рядків коду та
цикломатична складність за МакКейбом, загальна кількість операторів та операндів, інтелект, обсяг та кількість зусиль за
Холстедом. Здійснено порівняння ефективності роботи різних методів вибору ознак, зокрема проведено дослідження впливу
методу вибору ознак на точність класифікації із використанням наступних класифікаторів: Random Forest, Support Vector Machine,
k-Nearest Neighbor, Decision Tree classifier, AdaBoost classifier, Gradient Boosting for classification. Показано, що використання будьякого методу вибору ознак підвищує точність класифікації принаймні на десять процентів порівняно з початковим датасетом, що
підтверджує важливість цієї процедури для прогнозування дефектів програмного забезпечення на основі метричних датасетів, які
містять значну кількість сильно корелюючих метрик коду ПЗ. Встановлено, що найкращу для більшості класифікаторів точність
прогнозу вдалось отримати з використанням набору ознак, отриманого із запропонованої статичної моделі надійності ПЗ. Крім
того, показано, що можливим також є використання окремих методів, таких як Autoencoder, Exhaustive Feature Selection та Principal
Component Analysis з незначною втратою точності класифікації та прогнозування

Завантаження

Дані завантаження ще не доступні.

Біографії авторів

Віталій Степанович Яковина, Національний університет «Львівська політехніка, вул. Степана Бандери, 12. Львів, 79000, Україна

доктор технічних наук, професор, професор каф. Систем штучного інтелекту Національного університету «Львівська політехніка, вул. Степана Бандери, 12. Львів, 79000, Україна.

Д-р техніч. наук, професор Вармінсько-Мазурського університету в Ольштині, вул. Очаповська 2. Ольштин, 10-719, Польща

Scopus Author ID: 6602569305

 

Іван Ігорович Симець, Національний університет «Львівська політехніка, вул. Степана Бандери, 12. Львів, 79000, Україна

аспірант, асистент каф. Програмного забезпечення Національного університету
«Львівська політехніка, вул. Степана Бандери, 12. Львів, 79000, Україна

Scopus Author ID: 57202453582

 

Опубліковано

2021-03-17

Як цитувати

[1]
Yakovyna V.S.., Symets I.I. “Towards a software defect proneness model: feature selection”. Applied Aspects of Information Technology. 2021; Vol. 4, No. 4: 354-365. DOI:https://doi.org/10.15276/aait.04.2021.5.