Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN

Досліджено процес прогнозування дефектів у програмному забезпеченні (ПЗ) з використанням алгоритмів глибинного навчання. Показано, що цей процес складається з декількох основних етапів: пошук та підготовка даних, побудова абстрактного синтаксичного дерева (АСД), обхід дерева та кодування значень вер...

Full description

Bibliographic Details
Main Authors: Т. П. Білецький, Д. В. Федасюк
Format: Article
Language:English
Published: Ukrainian National Forestry University 2021-04-01
Series:Науковий вісник НЛТУ України
Subjects:
Online Access:https://nv.nltu.edu.ua/index.php/journal/article/view/2290
_version_ 1818600245075902464
author Т. П. Білецький
Д. В. Федасюк
author_facet Т. П. Білецький
Д. В. Федасюк
author_sort Т. П. Білецький
collection DOAJ
description Досліджено процес прогнозування дефектів у програмному забезпеченні (ПЗ) з використанням алгоритмів глибинного навчання. Показано, що цей процес складається з декількох основних етапів: пошук та підготовка даних, побудова абстрактного синтаксичного дерева (АСД), обхід дерева та кодування значень вершин у цілі числа, збалансування даних, побудова та навчання нейронної мережі. З'ясовано, що застосування цього процесу прогнозування дефектів у ПЗ може пришвидшити та полегшити пошук дефектів та відповідно знизити вартість їх виправлення. Встановлено, що передові алгоритми машинного навчання, які на цей момент використовуються на етапі побудови та навчання нейронної мережі, досі є недостатньо ефективними, щоб можна було застосовувати прогнозування дефектів у комерції, демонструючи нестабільну точність 40-60 %. За результатами досліджень встановлено, що застосування алгоритмів глибинного навчання дає точніші результати, ніж інші алгоритми машинного навчання. Для зниження дисперсії та підвищення середньої точності прогнозування запропоновано новий метод прогнозування дефектів у ПЗ на підставі поєднання двох останніх модифікацій алгоритмів глибинного навчання CNN та RNN за допомогою бінарного класифікатора логістична регресія. Проведено навчання нейронної мережі на наборі даних розміром 50 000 файлів вихідного коду, отриманих з 13-ти проєктів мовою Java. За результатами досліджень виявлено, що метод CNN+RNN в середньому дає на 10-9 % вищу точність, ніж RNN та на 2 % вищу точність, ніж CNN, що доводить доцільність використання поєднання алгоритмів глибинного навчання у задачі прогнозування дефектів. Проаналізовано точність методу CNN+RNN по кожному з ПЗ проектів з набору даних, унаслідок чого виявлено, що для 11-ти з 13-ти проєктів поєднання CNN+RNN дає не меншу точність, ніж окремо взяті CNN та RNN.
first_indexed 2024-12-16T12:32:25Z
format Article
id doaj.art-b71ff5ccc918458d9209de8978ef0356
institution Directory Open Access Journal
issn 1994-7836
2519-2477
language English
last_indexed 2024-12-16T12:32:25Z
publishDate 2021-04-01
publisher Ukrainian National Forestry University
record_format Article
series Науковий вісник НЛТУ України
spelling doaj.art-b71ff5ccc918458d9209de8978ef03562022-12-21T22:31:40ZengUkrainian National Forestry UniversityНауковий вісник НЛТУ України1994-78362519-24772021-04-0131211412010.36930/403102192290Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNNТ. П. Білецький0Д. В. Федасюк1Національний університет "Львівська політехніка", м. ЛьвівНаціональний університет "Львівська політехніка", м. ЛьвівДосліджено процес прогнозування дефектів у програмному забезпеченні (ПЗ) з використанням алгоритмів глибинного навчання. Показано, що цей процес складається з декількох основних етапів: пошук та підготовка даних, побудова абстрактного синтаксичного дерева (АСД), обхід дерева та кодування значень вершин у цілі числа, збалансування даних, побудова та навчання нейронної мережі. З'ясовано, що застосування цього процесу прогнозування дефектів у ПЗ може пришвидшити та полегшити пошук дефектів та відповідно знизити вартість їх виправлення. Встановлено, що передові алгоритми машинного навчання, які на цей момент використовуються на етапі побудови та навчання нейронної мережі, досі є недостатньо ефективними, щоб можна було застосовувати прогнозування дефектів у комерції, демонструючи нестабільну точність 40-60 %. За результатами досліджень встановлено, що застосування алгоритмів глибинного навчання дає точніші результати, ніж інші алгоритми машинного навчання. Для зниження дисперсії та підвищення середньої точності прогнозування запропоновано новий метод прогнозування дефектів у ПЗ на підставі поєднання двох останніх модифікацій алгоритмів глибинного навчання CNN та RNN за допомогою бінарного класифікатора логістична регресія. Проведено навчання нейронної мережі на наборі даних розміром 50 000 файлів вихідного коду, отриманих з 13-ти проєктів мовою Java. За результатами досліджень виявлено, що метод CNN+RNN в середньому дає на 10-9 % вищу точність, ніж RNN та на 2 % вищу точність, ніж CNN, що доводить доцільність використання поєднання алгоритмів глибинного навчання у задачі прогнозування дефектів. Проаналізовано точність методу CNN+RNN по кожному з ПЗ проектів з набору даних, унаслідок чого виявлено, що для 11-ти з 13-ти проєктів поєднання CNN+RNN дає не меншу точність, ніж окремо взяті CNN та RNN.https://nv.nltu.edu.ua/index.php/journal/article/view/2290надійність пз; згорткова нейронна мережа; рекурентна нейронна мережа; машинне навчання
spellingShingle Т. П. Білецький
Д. В. Федасюк
Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN
Науковий вісник НЛТУ України
надійність пз; згорткова нейронна мережа; рекурентна нейронна мережа; машинне навчання
title Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN
title_full Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN
title_fullStr Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN
title_full_unstemmed Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN
title_short Прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання CNN та RNN
title_sort прогнозування дефектів у програмному забезпеченні алгоритмами глибинного навчання cnn та rnn
topic надійність пз; згорткова нейронна мережа; рекурентна нейронна мережа; машинне навчання
url https://nv.nltu.edu.ua/index.php/journal/article/view/2290
work_keys_str_mv AT tpbílecʹkij prognozuvannâdefektívuprogramnomuzabezpečenníalgoritmamiglibinnogonavčannâcnntarnn
AT dvfedasûk prognozuvannâdefektívuprogramnomuzabezpečenníalgoritmamiglibinnogonavčannâcnntarnn