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