基于机器学习的软件缺陷预测研究

基于机器学习的软件缺陷预测研究

ID:14498484

大小:346.00 KB

页数:7页

时间:2018-07-29

基于机器学习的软件缺陷预测研究_第1页
基于机器学习的软件缺陷预测研究_第2页
基于机器学习的软件缺陷预测研究_第3页
基于机器学习的软件缺陷预测研究_第4页
基于机器学习的软件缺陷预测研究_第5页
资源描述:

《基于机器学习的软件缺陷预测研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、□□□□□□□□□基于机器学习的软件缺陷预测研究刘旸[摘要]基于机器学习的软件缺陷预测是一种有效的提高软件可靠性的方法。该方法基于软件模块的统计特性预测软件模块可能出现的缺陷数或是否容易出现缺陷。通过对软件模块缺陷状况的预测,软件开发组织可以将有限的资源集中于容易出现缺陷的模块,从而有效的提高软件产品的质量。基于机器学习的软件缺陷预测近年来出现了很多研究成果,本文概述该领域近年来的主要研究成果,并根据各方法的特点进行了分类。[关键词]软件缺陷预测;机器学习SurveyonSoftwarePredictionbasedonMachineLearningLiu

2、YangLabforInternetSoftwareTechnologiesInstituteofSoftware[Abstract]SoftwareQualityPredictionBasedonMachineLearningisaneffectivewaytoimprovesoftwarereliability.Thistechnologypredictsthenumberoffaultsinsoftwaremoduleorwhetherasoftwaremoduleisfault-proneornotbasedonstatisticalfeature

3、ofsoftwaremodule.Accordingtothepredictionoffaultsinsoftwaremodule,softwaredevelopingorganizationcanfocusonfault-pronemoduletoimprovesoftwarequalityeffectively.Thistechnologyisnowaprovenwaytoimprovesoftwarequality.Improvementemergedinrecentyearsaboutit.Thispaperwillstudytheseimprov

4、ementsbycategories.[keyword]SoftwareFaultPrediction;MachineLearning作者单位:100080北京中国科学院软件研究所互联网实验室7□□□□□□□□□1.引言在软件度量工作中,与软件产品相关的常用度量元可以分为静态度量元和动态度量元两类。静态度量元可以通过对软件产品的静态统计得到,如代码行数、函数/方法的数量等等,这些度量元也称作统计度量元。与之对应的,需要在产品运行过程中采集的非统计性的度量元也称作动态度量元或动态指标。如缺陷数量。软件缺陷是指可运行产品中会导致软件失效的瑕疵[1][2]。软件

5、缺陷数量属于动态度量元,需要通过对产品进行完整测试才能获得。针对软件模块进行完整测试成本高昂,并且必须在软件产品开发完成之后才能进行测试,因而难以控制软件产品缺陷数量。为了更好的提高软件质量,对软件模块的缺陷进行预测是一个可行的方法。软件缺陷预测方法的假定前提是软件的复杂度和软件的缺陷数量有密切关系。复杂度高的软件模块会比复杂度低的模块包含更多的缺陷。软件缺陷预测的思路是使用静态度量元表征软件的复杂度,进而预测软件模块可能的缺陷数量或者发生缺陷的可能性。通过机器学习进行软件缺陷预测,能够以较低的成本在项目开发的早期预测产品的缺陷分布状况,以便调整有限的项目

6、资源,集中处理可能出现较多缺陷的高风险模块,从而提高软件产品整体的质量。基于机器学习的早期缺陷预测已经被证明是获得高软件可靠性的有效方法[1]。基于机器学习的的缺陷预测包含3个步骤:1.选择适当的统计度量元集合并采集软件产品的统计数据;2.构造预测模型;3.将统计数据输入预测模型得到预测结果。在实际的应用中,根据应用环境、开发项目、开发组织等等的不同,预测方法所选取的度量元集合通常会有所不同。常用的表示复杂度的度量元有代码行LOC等。研究表明,使用多度量元能够更好的表达程序的特征,从而更好的预测软件缺陷[8]。度量元的选取在很大程度上仍然依赖于度量人员的经

7、验。目前的研究多集中于使用面向对象或面向过程技术的传统软件产品的缺陷预测。作者单位:100080北京中国科学院软件研究所互联网实验室7□□□□□□□□□虽然不同度量元的数据采集方法不同,但在步骤2的预测算法中对不同的度量元并不区分处理,预测算法具有通用性。2.常用的预测方法在基于机器学习的软件缺陷预测方法中,预测模型是最核心的部分。在确定度量元并按照这些度量元在实际项目中采集一定数据之后,预测方法将根据采集到的数据建立预测模型。这样在输入度量元数据时,模型即可预测模块的缺陷状况。根据建立预测模型方法的不同,以下将对缺陷预测中常用的一些机器学习预测方法进行分

8、类说明。按照预测目标的不同,缺陷预测方法可以为分类思路和回归思路两

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。