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

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

  • О. С. Хіль,
  • В. С. Яковина

DOI
https://doi.org/10.36930/40330316
Journal volume & issue
Vol. 33, no. 3

Abstract

Read online

Здійснено оцінювання та виконано аналіз літературних джерел, в яких досліджено методи машинного навчання для прогнозування дефектів програмного забезпечення. Визначено основні характеристики дефектів програмного забезпечення, такі як показники складності, ключові слова, зміни, розмір програмного коду та структурні залежності. Охарактеризовано основні методи та засоби прогнозування дефектів програмного забезпечення на основі метрик методами машинного навчання. Описано загальну схему прогнозування дефектів програмного забезпечення, яка дає змогу проводити експерименти та визначати наявність чи відсутність дефекту в програмному модулі. Продуктивність моделі передбачення дефектів програмного забезпечення істотно залежить від вибору набору даних, що є першим кроком проведення дослідження. Встановлено, що попередні дослідження здебільшого базуються на наборах даних з відкритим кодом, а програмні показники, які використовують для створення моделей, переважно є метриками продукту. Набір даних PROMISE (обіцянки) використовується в дослідженнях найчастіше, хоча дані проектів у наборі є застарілими та датуються 2004, 2005 та 2006 роками. Під час виконання цієї роботи проаналізовано сучасні наукові дослідження у галузі. Виявлено методи класифікації, що використовують під час прогнозування дефектів програмного забезпечення. Встановлено, що логістична регресія (англ. Logistic Regression), за якою слідує наївний Баєс (англ. Naive Bayes) та випадковий ліс (англ. Random Forest), є найбільш застосовуваними методами класифікації в таких моделях. Важливим етапом для розуміння ефективності моделі є її оцінювання. Виявлено показники оцінювання ефективності моделі прогнозування дефектів програмного забезпечення, що найчастіше використовують дослідженнях. З'ясовано, що f-measure, за якою слідує recall та AUC, є найпоширенішим показником, який використовується для оцінювання ефективності моделей передбачення дефектів програмного забезпечення. Виявлено, що за останні роки зріс інтерес до використання моделей дефектів програмного забезпечення та класифікації програмних дефектів на основі метрик коду та характеристик проекту. Обґрунтовано актуальність оцінювання та прогнозування дефектів програмного забезпечення методами машинного навчання. Встановлено деякі аспекти, які потребують додаткового дослідження. Визначено напрями майбутніх досліджень, а саме: методи вибору ознак, методи вибору класифікаторів, методи попереднього оброблення даних, побудова моделей прогнозування дефектів, розроблення методів і засобів прогнозування дефектів програмного забезпечення.

Keywords