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

O. Khil, V. Yakovyna
{"title":"Аналіз проблеми застосування методів машинного навчання для оцінювання та прогнозування дефектів програмного забезпечення","authors":"O. Khil, V. Yakovyna","doi":"10.36930/40330316","DOIUrl":null,"url":null,"abstract":"Здійснено оцінювання та виконано аналіз літературних джерел, в яких досліджено методи машинного навчання для прогнозування дефектів програмного забезпечення. Визначено основні характеристики дефектів програмного забезпечення, такі як показники складності, ключові слова, зміни, розмір програмного коду та структурні залежності. Охарактеризовано основні методи та засоби прогнозування дефектів програмного забезпечення на основі метрик методами машинного навчання. Описано загальну схему прогнозування дефектів програмного забезпечення, яка дає змогу проводити експерименти та визначати наявність чи відсутність дефекту в програмному модулі. Продуктивність моделі передбачення дефектів програмного забезпечення істотно залежить від вибору набору даних, що є першим кроком проведення дослідження. Встановлено, що попередні дослідження здебільшого базуються на наборах даних з відкритим кодом, а програмні показники, які використовують для створення моделей, переважно є метриками продукту. Набір даних PROMISE (обіцянки) використовується в дослідженнях найчастіше, хоча дані проектів у наборі є застарілими та датуються 2004, 2005 та 2006 роками. Під час виконання цієї роботи проаналізовано сучасні наукові дослідження у галузі. Виявлено методи класифікації, що використовують під час прогнозування дефектів програмного забезпечення. Встановлено, що логістична регресія (англ. Logistic Regression), за якою слідує наївний Баєс (англ. Naive Bayes) та випадковий ліс (англ. Random Forest), є найбільш застосовуваними методами класифікації в таких моделях. Важливим етапом для розуміння ефективності моделі є її оцінювання. Виявлено показники оцінювання ефективності моделі прогнозування дефектів програмного забезпечення, що найчастіше використовують дослідженнях. З'ясовано, що f-measure, за якою слідує recall та AUC, є найпоширенішим показником, який використовується для оцінювання ефективності моделей передбачення дефектів програмного забезпечення. Виявлено, що за останні роки зріс інтерес до використання моделей дефектів програмного забезпечення та класифікації програмних дефектів на основі метрик коду та характеристик проекту. Обґрунтовано актуальність оцінювання та прогнозування дефектів програмного забезпечення методами машинного навчання. Встановлено деякі аспекти, які потребують додаткового дослідження. Визначено напрями майбутніх досліджень, а саме: методи вибору ознак, методи вибору класифікаторів, методи попереднього оброблення даних, побудова моделей прогнозування дефектів, розроблення методів і засобів прогнозування дефектів програмного забезпечення.","PeriodicalId":33529,"journal":{"name":"Naukovii visnik NLTU Ukrayini","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2023-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Naukovii visnik NLTU Ukrayini","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.36930/40330316","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Здійснено оцінювання та виконано аналіз літературних джерел, в яких досліджено методи машинного навчання для прогнозування дефектів програмного забезпечення. Визначено основні характеристики дефектів програмного забезпечення, такі як показники складності, ключові слова, зміни, розмір програмного коду та структурні залежності. Охарактеризовано основні методи та засоби прогнозування дефектів програмного забезпечення на основі метрик методами машинного навчання. Описано загальну схему прогнозування дефектів програмного забезпечення, яка дає змогу проводити експерименти та визначати наявність чи відсутність дефекту в програмному модулі. Продуктивність моделі передбачення дефектів програмного забезпечення істотно залежить від вибору набору даних, що є першим кроком проведення дослідження. Встановлено, що попередні дослідження здебільшого базуються на наборах даних з відкритим кодом, а програмні показники, які використовують для створення моделей, переважно є метриками продукту. Набір даних PROMISE (обіцянки) використовується в дослідженнях найчастіше, хоча дані проектів у наборі є застарілими та датуються 2004, 2005 та 2006 роками. Під час виконання цієї роботи проаналізовано сучасні наукові дослідження у галузі. Виявлено методи класифікації, що використовують під час прогнозування дефектів програмного забезпечення. Встановлено, що логістична регресія (англ. Logistic Regression), за якою слідує наївний Баєс (англ. Naive Bayes) та випадковий ліс (англ. Random Forest), є найбільш застосовуваними методами класифікації в таких моделях. Важливим етапом для розуміння ефективності моделі є її оцінювання. Виявлено показники оцінювання ефективності моделі прогнозування дефектів програмного забезпечення, що найчастіше використовують дослідженнях. З'ясовано, що f-measure, за якою слідує recall та AUC, є найпоширенішим показником, який використовується для оцінювання ефективності моделей передбачення дефектів програмного забезпечення. Виявлено, що за останні роки зріс інтерес до використання моделей дефектів програмного забезпечення та класифікації програмних дефектів на основі метрик коду та характеристик проекту. Обґрунтовано актуальність оцінювання та прогнозування дефектів програмного забезпечення методами машинного навчання. Встановлено деякі аспекти, які потребують додаткового дослідження. Визначено напрями майбутніх досліджень, а саме: методи вибору ознак, методи вибору класифікаторів, методи попереднього оброблення даних, побудова моделей прогнозування дефектів, розроблення методів і засобів прогнозування дефектів програмного забезпечення.
使用机器学习方法评估和预测软件缺陷的问题分析
对文献来源进行了评估和分析,研究了预测软件缺陷的机器学习方法。定义了软件缺陷的基本特征,如复杂性指标、关键字、更改、代码大小和结构依赖性。用于预测软件缺陷的基本方法和工具以机器学习度量为特征。描述了一个通用的程序缺陷预测方案,该方案允许您运行实验并确定应用程序模块中是否存在缺陷。软件缺陷预测模型的生产率在很大程度上取决于数据集的选择,这是研究的第一步。先前的研究主要基于开源数据集,用于创建模型的软件指标大多是产品指标。PROMISE数据集(PROMISE)是研究中最常用的数据集,尽管项目数据集已经过时,可以追溯到2004年、2005年和2006年。在这项工作中分析了当前的科学研究。已经检测到用于预测软件缺陷的分类方法。逻辑回归、朴素贝叶斯和随机森林是这类模型中最常用的分类方法。了解模型效率的一个重要步骤是对其进行评估。已经为最常用的软件缺陷预测模型找到了效率评估指标。研究发现,f度量、召回率和AUC是评估软件缺陷预测模型有效性的最常见指标。近年来,人们对使用软件缺陷模型和基于代码度量和项目特征对软件缺陷进行分类越来越感兴趣。它是基于当前对机器学习软件缺陷的评估和预测。已经确定了一些需要进一步研究的方面。未来的研究方向是:符号选择方法、分类选择方法、预处理方法、缺陷预测模型的构建,•开发预测软件缺陷的方法和工具。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
41
审稿时长
4 weeks
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信