首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 62 毫秒
1.

开源软件缺陷预测通过挖掘软件历史仓库的数据,利用与软件缺陷相关的度量元或源代码本身的语法语义特征,借助机器学习或深度学习方法提前发现软件缺陷,从而减少软件修复成本并提高产品质量. 漏洞预测则通过挖掘软件实例存储库来提取和标记代码模块,预测新的代码实例是否含有漏洞,减少漏洞发现和修复的成本. 通过对2000年至2022年12月软件缺陷预测研究领域的相关文献调研,以机器学习和深度学习为切入点,梳理了基于软件度量和基于语法语义的预测模型. 基于这2类模型,分析了软件缺陷预测和漏洞预测之间的区别和联系,并针对数据集来源与处理、代码向量的表征方法、预训练模型的提高、深度学习模型的探索、细粒度预测技术、软件缺陷预测和漏洞预测模型迁移六大前沿热点问题进行了详尽分析,最后指出了软件缺陷预测未来的发展方向.

  相似文献   

2.
宫丽娜  姜淑娟  姜丽 《软件学报》2019,30(10):3090-3114
随着软件规模的扩大和复杂度的不断提高,软件的质量问题成为关注的焦点,软件缺陷是软件质量的对立面,威胁着软件质量,如何在软件开发的早期挖掘出缺陷模块成为一个亟需解决的问题.软件缺陷预测通过挖掘软件历史仓库,设计出与缺陷相关的内在度量元,然后借助机器学习等方法来提前发现与锁定缺陷模块,从而合理地分配有限的资源.因此,软件缺陷预测是软件质量保证的重要途径之一,近年来已成为软件工程中一个非常重要的研究课题.汇总近8年(2010年~2017年)国内外的缺陷预测技术的研究成果,并以缺陷预测的形式为主线进行分析,首先介绍了软件缺陷预测模型的框架;然后从软件缺陷数据集、构建模型的方法及评价指标这3个方面对已有的研究工作进行分类归纳和比较;最后探讨了软件缺陷预测的未来可能的研究方向、机遇和挑战.  相似文献   

3.
软件缺陷预测数据集作为预测模型构建及实施缺陷预测的基础设施,面临着两方面问题,一方面因数据源头上采集困难导致可用评测数据集较少;另一方面,已公开的数据集因领域数据不同导致了差异性大、度量标准不适用等问题,鲜有工程应用.结合国内航天领域的真实软件评测数据,对航天器软件度量指标设计方法与航天器软件缺陷预测数据集的构建过程进...  相似文献   

4.
陈曙  叶俊民  刘童 《软件学报》2020,31(2):266-281
软件缺陷预测旨在帮助软件开发人员在早期发现和定位软件部件可能存在的潜在缺陷,以达到优化测试资源分配和提高软件产品质量的目的.跨项目缺陷预测在已有项目的缺陷数据集上训练模型,去预测新的项目中的缺陷,但其效果往往不理想,其主要原因在于,采样自不同项目的样本数据集,其概率分布特性存在较大差异,由此对预测精度造成较大影响.针对此问题,提出一种监督型领域适配(domainadaptation)的跨项目软件缺陷预测方法.将实例加权的领域适配与机器学习的预测模型训练过程相结合,通过构造目标项目样本相关的权重,将其施加于充足的源项目样本中,以实例权重去影响预测模型的参数学习过程,将来自目标项目中缺陷数据集的分布特性适配到训练数据集中,从而实现缺陷数据样本的复用和跨项目软件缺陷预测.在10个大型开源软件项目上对该方法进行实证,从数据集、数据预处理、实验结果多个角度针对不同的实验设定策略进行分析;从数据、预测模型以及模型适配层面分析预测模型的过拟合问题.实验结果表明,该方法性能优于同类方法,显著优于基准性能,且能够接近和达到项目内缺陷预测的性能.  相似文献   

5.
软件缺陷预测是改善软件开发质量,提高测试效率的重要途径.文中提出一种基于软件度量元的集成k-NN软件缺陷预测方法.首先,该方法在不同的Bootstrap抽样数据集上迭代训练生成一个基本k-NN预测器集合.然后,这些基本预测器分别对软件模块进行独立预测,各基本预测值将被融合生成最终的预测结果.为判别新的软件模块是否为缺陷模块,设计分类阈值的自适应学习方法.集成预测结果大于该阈值的模块将被识别为缺陷模块,反之则为正常模块.NASAMDP及PROMISEAR标准软件缺陷数据集上的实验结果表明集成k-NN缺陷预测的性能较之广泛采用的对比缺陷预测方法有较明显的提高,同时也证明软件度量元在缺陷预测中的有效性.  相似文献   

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

7.
通过软件缺陷预测可以指导软件开发过程中资源的分配,提高软件质量和软件可靠性。为了更好地利用软件开发过程中产生的数据,指导软件的开发,在介绍了软件缺陷管理,数据挖掘,软件开发信息库知识的基础上,将数据挖掘的知识应用到软件开发信息库中,从版本信息库和缺陷跟踪系统中提取相关数据,经过预处理后这些数据就成数据挖掘技术的研究对象,通过选取合适的软件度量元,利用这些度量元建立新的软件缺陷预测模型并验证了该模型的有效性。  相似文献   

8.
软件缺陷预测先前的研究工作主要关注软件缺陷分类问题,即判断一个软件模块是否含有缺陷。如何量化一个软件模块中含有软件缺陷的数量问题还未被很好地研究。针对该问题,提出了一种两阶段的软件模块缺陷数预测特征选择方法FSDNP:特征聚类阶段和特征选择阶段。在特征聚类阶段中,使用基于密度峰聚类的算法将高度相关的特征进行聚类;在特征选择阶段,设计了三种启发式的排序策略从簇中删除冗余的和无关的特征。在PROMISE数据集上,使用平均错误率和平均相对错误率指标,与6个经典的方法进行了比较。实验结果表明,FSDNP能够有效移除冗余的和无关的特征,构建高效的软件缺陷数预测模型。  相似文献   

9.
为了提高软件缺陷预测的准确率,利用布谷鸟搜索算法(Cuckoo Search,CS)的寻优能力和人工神经网络算法(Artificial Neural Network,ANN)的非线性计算能力,提出了基于CS-ANN的软件缺陷预测方法。此方法首先使用基于关联规则的特征选择算法降低数据的维度,去除了噪声属性;利用布谷鸟搜索算法寻找神经网络算法的权值,然后使用权值和神经网络算法构建出预测模型;最后使用此模型完成缺陷预测。使用公开的NASA数据集进行仿真实验,结果表明该模型降低了误报率并提高了预测的准确率,综合评价指标AUC(area under the ROC curve)、F1值和G-mean都优于现有模型。  相似文献   

10.
软件缺陷预测在提高软件质量和用户满意度、降低开发成本和风险等方面起着非常重要的作用,在学术界如火如荼地展开了众多理论和实证研究,但在产业界却发现其存在着实用性差、效率低、未考虑缺陷严重等级等不足。为了查找具体原因,首先依据预测目标的不同,将静态软件缺陷预测细分为缺陷倾向性预测、缺陷的数量/分布密度预测和缺陷模块排序预测;然后从软件度量指标的筛选、测评数据资源库、缺陷预测模型的构建和缺陷预测模型的评价等四方面综述了上述三类静态软件缺陷预测现有的研究工作,详细地指出了各自存在的问题,重点综述了缺陷倾向性预测模型的构建和缺陷模块排序模型的构建方面的工作;最后结合在产业界的应用情况,指出了静态软件缺陷预测面临的挑战和瓶颈,展望了进一步的研究方向。  相似文献   

11.
软件故障静态预测方法综述   总被引:2,自引:0,他引:2  
软件故障静态预测通过从项目数据中提取度量信息预测故障,以便于测试和验证资源的分配。从可用度量数据和预测模型两个方面总结了软件故障静态预测方法,可用度量包括方法层、类层、构件层、文件层以及过程层度量,预测模型分为机器学习和统计方法两类;总结了性能评价指标、度量数据可得性以及故障分类对故障预测的影响等需要进一步研究的问题。  相似文献   

12.
微博情感分析是社交媒体挖掘中的重要任务之一,在个性化推荐、舆情分析等方面具有重要的理论和应用价值.挖掘性能良好且可同步进行文档主题分析与情感分析的主题情感模型近来在以微博为代表的社交媒体情感分析中备受关注。然而,绝大多数现有主题情感模型都简单地假设不同微博的情感极性是互相独立,这与微博生态的现实状况不相一致的,从而导致这些模型无法对用户的真实情感进行有效建模。基于此,本文综合考虑了微博用户相互关联的事实,提出基于LDA和微博用户关系的主题情感模型SRTSM,该模型在LDA中加入情感层与微博用户关系参数,利用微博用户关系与微博主题学习微博的情感极性。新浪微博真实数据集上的大量实验表明,与代表性算法JST、Sentiment-LDA与DPLDA相比较,SRTSM模型能对用户真实情感与讨论主题进行更加有效的分析建模.  相似文献   

13.
软件缺陷预测可帮助开发人员提前预测缺陷程序,合理分配有限的测试资源。软件缺陷预测的准确度不仅依赖于预测方法的选择,更依赖于软件的度量指标。因此,结合多元度量指标进行软件缺陷预测已成为当前的研究热点。从度量指标出发,对传统度量指标、多元度量指标以及结合多元度量指标的缺陷预测的研究进展进行了系统介绍。主要工作包含:介绍了传统的代码和过程度量指标、基于传统度量指标的软件缺陷预测模型以及影响数据质量的因素;阐述了语义结构度量指标;分析列举了当前用于软件缺陷预测的评价指标;结合预测粒度、传统度量指标、语义结构度量指标、跨项目软件缺陷预测对多元度量指标软件缺陷预测未来的研究趋势进行了展望。  相似文献   

14.
陈翔  赵英全  顾庆  倪超  王赞 《软件学报》2019,30(12):3694-3713
软件缺陷预测技术通过挖掘和分析软件库训练出软件缺陷预测模型,随后利用该模型来预测出被测软件项目内的缺陷程序模块,因此可以有效地优化测试资源的分配.在基于代价感知的评测指标下,有监督学习方法与无监督学习方法之间的预测性能比较是最近的一个热门研究话题.其中在基于文件粒度的缺陷预测问题中,Yan等人最近对Yang等人考虑的无监督学习方法和有监督学习方法展开了大规模实证研究,结果表明存在一些无监督学习方法,其性能要优于有监督方法.基于来自开源社区的10个项目展开了实证研究.结果表明:在同项目缺陷预测场景中,若基于ACC评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有105.81%和123.84%的提高;若基于POPT评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有35.61%和38.70%的提高.在跨项目缺陷预测场景中,若基于ACC评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有22.42%和34.95%的提高.若基于POPT评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有11.45%和17.92%的提高.同时,基于Huang等人提出的PMI和IFA评测指标,MULTI方法的表现与代价感知的指标相比存在一定的折衷问题,但仍好于在ACC和POPT评测指标下表现最好的两种无监督学习方法.除此之外,将MULTI方法与最新提出的OneWay和CBS方法进行了比较,结果表明,MULTI方法在性能上仍然可以显著优于这两种方法.同时,基于F1评测指标的结果也验证了MULTI方法在预测性能上的显著优越性.最后,通过分析模型构建的时间开销,表明MULTI方法的模型构建开销对开发人员来说处于可接受的范围之内.  相似文献   

15.
在基于软件产品度量值的缺陷预测中,度量值主要是基于两个层次:类/文件层次和包/组件层次。类级别的预测模型通常会有更好的预测效率,而包级别的模型往往能得到更好的查全率及查准率。提出综合类级别和包级别度量值进行缺陷预测的方法,在类级别预测的基础上,使用包级别预测的信息对类级别进行调整,在类级别预测中融合包级别预测中所隐含的问题域信息。通过基于Eclipse3.0系统的实验发现,该方法能够有效改善缺陷预测的效果。与类级别的缺陷预测模型相比,综合包级别度量值的缺陷预测方法提高了5%到8%的查全率。同时在预测效率上,测试出50%的缺陷,使用该方法可以有效减少3.6%到9.84%的代码检查量。  相似文献   

16.
蔡亮  范元瑞  鄢萌  夏鑫 《软件学报》2019,30(5):1288-1307
软件缺陷预测一直是软件工程研究中最活跃的领域之一,研究人员己经提出了大量的缺陷预测技术,根据预测粒度不同,主要包括模块级、文件级和变更级(change-level)缺陷预测.其中,变更级缺陷预测旨在于开发者提交代码时,对其引入的代码是否存在缺陷进行预测,因此又被称作即时(just-in-time)缺陷预测.近年来,即时缺陷预测技术由于其即时性、细粒度等优势,成为缺陷预测领域的研究热点,取得了一系列研究成果;同时也在数据标注、特征提取、模型评估等环节面临诸多挑战,迫切需要更先进、统一的理论指导和技术支撑.鉴于此,从即时缺陷预测技术的数据标注、特征提取和模型评估等方面对近年来即时缺陷预测研究进展进行梳理和总结.主要内容包括:(1)归类并梳理了即时缺陷预测模型构建中数据标注常用方法及其优缺点;(2)对即时缺陷预测的特征类型和计算方法进行了详细分类和总结;(3)总结并归类现有模型构建技术;(4)总结了模型评估中使用的实验验证方法与性能评估指标;(5)归纳出了即时缺陷预测技术的关键问题;(6)最后展望了即时缺陷预测的未来发展.  相似文献   

17.
黄晓伟  范贵生  虞慧群  杨星光 《计算机工程》2021,47(12):230-235,248
在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取节点信息时保留节点的类型信息和对应代码语义的值信息,并使用特殊字符串代替没有值信息的节点。通过树链剖分思想将AST分割为重子节点和轻子节点,优先选择重子节点作为序列化向量中的节点,同时利用深度学习网络学习节点序列中的源代码结构和语言实现软件缺陷预测。实验结果表明,与DFS方法相比,该方法在基于注意力机制的循环神经网络深度学习模型上的F1值和AUC值平均提升约3%和4%,具有更好的缺陷预测效果。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号