基于相似度匹配的软件缺陷预测方法研究.docxVIP

基于相似度匹配的软件缺陷预测方法研究.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于相似度匹配的软件缺陷预测方法研究

基于相似度匹配的软件缺陷预测方法研究   摘 要:针对跨项目缺陷预测中为目标项目选择合适的训练数据问题,在已有相似度匹配方法的基础上,引入项目情境信息,从而提出一种改进的CPDP预测模型。实验结果表明:引入项目的情境信息,有助于提高CPDP性能;所提方法的F-measure值比已有方法提高了%和%,但相比WPDP方法,仍有待提高。   ?P键词:软件质量保证;缺陷预测;相似度匹配;训练数据选择   DOIDOI:/   中图分类号:TP301   文献标识码:A 文章编号文章编号:1672--0009-03   0 引言   软件缺陷预测研究一直是软件工程领域中的热门方向,最早可以追溯到上世纪70年代。常规的方法是利用项目自身已有历史数据训练预测模型后,再用于后续版本的缺陷预测,即项目内缺陷预测,如图1所示。然而,已有研究表明训练高质量的WPDP模型要求有充足的历史数据,这对一些新项目或还不活跃的软件项目便难以满足。   近些年来随着互联网的蓬勃发展,尤其是开源社区如 Github的兴起,互联网上可供获取的公开缺陷数据集越来越多,而且数量仍在不断增长。为有效利用互联网上已有的丰富数据资源,一些研究者提出利用其它软件项目的数据来训练,构建跨项目的缺陷预测模型,用于解决WPDP中训练数据受限的瓶颈[1-5],如图1所示,为软件缺陷预测研究开辟了一条崭新的途径。   在CPDP早期研究中,都是将来自其它软件项目的所有数据作为训练集,并不涉及训练集的精简。常常出现因训练数据包含过多噪声,从而降低了模型准确性[5]。在某种程度上,数据的质量远比数量对CPDP性能的影响更大。然而,如何才能从大量的可供使用的缺陷数据中挑选出质量更高的部分用于预测模型训练,仍然是CPDP研究中急需解决的一个问题[6]。   针对以上问题,目前主要有两种思路。一种是通过特征降维的方法减少冗余指标信息,从而减少数据噪音来改善缺陷预测的性能和效率[7]。另一种方法则是本文将考虑的通过减少数据量来减少重复的无价值的实例[8]。在训练数据总量的精简方面,以往研究都只是根据数据的度量指标信息进行相似度匹配,再返回top-k个最相关的实例构成新的训练数据集,但它们并没有充分考虑项目的情境信息。实践中,每个项目的情境信息存在差异,例如项目的主题、服务对象、编程语言等。   本文在为CPDP预测选择合适跨项目训练数据集时,通过考虑项目的5个常规属性信息,并利用自然语言处理中的TF-IDF技术将它们量化,从而得到每个项目的情境信息向量。最后,结合项目的情境信息与项目中实例特征值计算数据集的相似度。本文的主要贡献可归纳为:   引入项目的情境信息,提出一种改进的基于相似度匹配的CPDP预测方法,并使CPDP预测性能得到改进。   验证本文方法的CPDP预测模型在朴素贝叶斯分类器下效果最好。   1 跨项目缺陷预测   CPDP形象表示为利用其它项目组成的缺陷数据集S={P1,P2,…,Ps}对目标项目Pt作缺陷预测。假设一个项目P由n实例组成,即P={I1,I2,…,Ii,…,In},实例Ii表示为Ii={fi1,fi2,…,fij,…,fim},fij为实例Ii在第j个度量指标上的值,m为用于度量实例的指标个数。一个项目数据集P中度量指标Fi对应的向量可表示为Fi={f1i,f2i,…,fji,…,fni},fji为第j个实例在该度量指标上的值,各实例指标值的分布特性可表示为Ci={SCi1,SCi2,…,SCik},SC为对应的度量指标值的分布特性。因此,项目P可根据度量指标量化为V={C1,C2,…,Ck,…,Cm}。 这样,项目A和B之间的相似性可表示为:   Simmetric=cos=VA?VB|VA||VB|   另外,假定每个项目情境信息按照主题、目标受众、编程语言、运行操作系统、认证顺序来进行量化表示,则可以表示为U=,其中ATi分别为上述属性前面几个字母的缩写。因此,项目A和B之间的属性相似性可表示为:   Simcontext=cos=UA?UB|UA||UB|   而表示项目情境信息的每个属性本身又为一个向量ATi=, m为属性i中包括的元素种类,因此,项目情境信息相似性为所有5个属性向量下的余弦相似性总和,可用式表示,系数α表示每个属性的比重系数,本文视每个属性具有相同的重要性,即α=。   Simcontext=∑ni=1αicos   对于每个属性向量ATi中的wij,可通过修改后的tf,idf表示为式:   wij=log#p#pj   其中,fij为项目在属性i元素j上的频率,#p和#pj分别代表项目总数和具有元素j的项目数。结合式和式,得到:   cos=∑j∈Ai∩Bi2∑j∈Ai?log#p#pj)2∑j∈Bi?log#p#pj)2

文档评论(0)

manyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档