Науковий вісник НЛТУ України (Dec 2021)

Прогнозування дефектів програмного забезпечення ансамблем нейронних мереж

  • В. С. Яковина,
  • І. І. Симець

DOI
https://doi.org/10.36930/40310616
Journal volume & issue
Vol. 31, no. 6

Abstract

Read online

Прогнозування дефектів програмного забезпечення, зокрема крос-проєктне, є актуальною і важливою науково-прикладною задачею, вирішення якої спрямоване на підвищення якості та надійності програмних продуктів та зменшення вартості їх розроблення та супроводу. Перспективним підходом до розв'язання такої задач може бути використання штучних нейронних мереж, зокрема глибинного навчання та їх ансамблів. Ансамблювання часто може покращити точність прогнозування моделей і розпаралелити результуючу модель, що підвищує швидкість обчислень. У цьому дослідженні побудовано архітектуру глибинних нейронних мереж, яка володіє вищими показниками точності прогнозування дефектів програмного забезпечення порівняно із традиційними моделями машинного навчання. У ролі якості наборів вхідних даних використовували комбінований набір, отриманий з репозиторію PROMISE Software Engineering, який містить дані про тестування програмних модулів п'яти програм (КС1, КС2, PC1, CM1, JM1) та двадцять одну метрику коду. Для реалізації нейронних мереж використано мову програмування Python і відкритої нейромережної бібліотеки Keras. Автоматизоване налаштування гіперпараметрів нейронних мереж реалізовано за допомогою функції GridSearchCV. Розроблено модель прогнозування надійності ПЗ на основі методів глибинного навчання і показано, що підвищення точності прогнозування дефектів ПЗ до 93,97 % можна досягнути у спосіб відповідного вибору множини ознак (метрик програмного коду) з наступним використанням стекового ансамблю нейронних мереж, до якого входять багатошаровий перцептрон (MLP), нейронна мережа на основі радіально-базисних функцій (RBFNN), рекурентна нейронна мережа (RNN) та довга короткотермінова пам'ять (LSTM), а як метамодель використовують логістичну регресію. Реалізація стекового ансамблю нейронних мереж дає змогу в подальшому створити програмний засіб, який зможе допомагати при ідентифікації програмних компонент із найбільшою ймовірністю появи дефектів.

Keywords