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

Main Article Content

Vitaliy S. Yakovyna
Ivan I. Symets

Анотація

Дана стаття націлена на удосконалення статичних моделей надійності ПЗ за рахунок використання методів машинного навчання для вибору метрик коду ПЗ, що найсильніше впливають на його надійність. У дослідженні було використано злитий датасет з репозиторію 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 з незначною втратою точності класифікації та прогнозування

Downloads

Download data is not yet available.

Article Details

Тематика

Розділ

Інженерія програмного забезпечення та системний аналіз

Автори

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

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

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

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

Scopus Author ID: 6602569305

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

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

Scopus Author ID: 57202453582

Схожі статті

Ви також можете розпочати розширений пошук схожих статей для цієї статті.