[发明专利]基于异构迁移的数据集扩充方法及软件缺陷预测方法有效
申请号: | 201810537415.0 | 申请日: | 2018-05-30 |
公开(公告)号: | CN108710576B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 陈晋音;杨奕涛;胡可科;宣琦;俞山青 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/08 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 曹兆霞 |
地址: | 310014 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 迁移 数据 扩充 方法 软件 缺陷 预测 | ||
本发明公开了一种基于异构迁移的数据集扩充方法,包括:首先,基于视图对源项目数据集进行分割,并基于神经网络对视图生成的各数据集之间训练得到异构迁移模型;然后,对大量的无类标数据,采用同样的视图分割方式生成各个视图,将视图投入异构迁移模型生成基于该视图生成的其他视图,经过组合后可以得到与源项目数据集格式相同的拟真样本;接着,利用源项目的各个视图训练各自的视图分类器;对由异构迁移模型生成的视图打上类标并给出置信度,综合各个分类器的置信度筛选出质量高的拟真样本的k个对源项目数据集进行扩充;最后,上述过程进行多次迭代,利用扩充后的源项目数据集训练生成软件缺陷预测模型进行缺陷预测。
技术领域
本发明属于软件缺陷预测领域,具体涉及一种基于异构迁移的数据拓展方法及软件缺陷预测方法。
背景技术
软件缺陷预测技术通过使用现有的软件历史信息等数据,构建预测模型来对现有的软件进行缺陷风险评估,是目前软件质量评估方法中极其重要的一环。合理运用该技术,业界可以在软件发布前,从软件的文件和源码等层面进行检测,发现潜在的缺陷并进行及时的修正。既节约了原本依靠人工评估造成的高额成本,又大大避免了潜在的代码隐患造成的损失。
近些年来,已有不少缺陷预测方法被提出。早期的研究往往针对软件的历史数据进行建模来预测未来版本的缺陷风险,这一类统称为项目内缺陷预测(with-in projectdefect prediction,WPDP)。例如Gyimothy等人利用Chidamber and Kemerer(CK)metrics建立逻辑回归预测模型。Kim等从文件的历史错误中提取信息进行预测。J.Nam等将基于源码特征的矩阵和基于历史修改特征的矩阵相结合的基础上进行预测。
但在实际的应用情景下,所预测的项目的历史数据时常存在不全或数据不足的情况。研究人员将迁移学习的思想运用在软件缺陷预测上,将相关的项目等信息作为源域,待预测的项目作为目标域,由于源域和目标域之间存在着数值分布等差异,针对同构的迁移,Nam等人从特征映射角度出发提出了TCA(transfer component analysis)方法,并在之后又提出TCA+。Xin Xia等提CPCC的方法,综合各个小分类器得出分类结果。同构迁移依然需要较为充足的源域数据,同时由于不同的项目因为语言、结构等差异较大,迁移后的效果有时不能保证。为了能让异构的数据信息也得到利用,J.nam等基于异构迁移学习,提出(Heterogeneous Defect Prediction)通过异构数据之间的属性匹配建立预测模型,在应用过程中由于源域和目标域的属性间匹配的不稳定性,不同的匹配阈值会对结果造成较大的影响。
目前提出的缺陷预测的方法中大部分模型的建立需要充足的样本和标签。一般认为,随着样本数量的增加,模型的准确性也会相应提升。在目前公开的数据集中,项目的样本数量往往偏少,例如在promis数据集的29个项目版本中,有19个项目低于400个样本。AEEEM数据集5个项目中有2个项目低于400个样本。不同是数据集采用的矩阵的个数也不同,例如AEEEM采用了69个矩阵而NASA数据集中为38个。同样的,不同粒度的矩阵获得难度也不同,文件的历史修改数据获取难度大于源码层面,代码修改级别的获取难度大于文件层面的难度。当获取了软件的历史数据后,人工标注也需要较高的成本。上述的问题很大程度上制约了分类器的选择和预测准确率。
当遇到样本较少或者属性不全的训练数据时,传统的方法大多挑选出完整的样本作为训练数据,这加剧了训练数据不足的情况。在实际情况中,相同工程的不同粒度的数据获取难度不一,得到的不同粒度的信息数量也不同。由于不同的粒度信息生成的矩阵维度不同,传统的方法大多不能充分的利用这些信息。
发明内容
本发明的目的是提供一种基于异构迁移的数据集扩充方法,通过充分利用不同粒度信息,构建的异构迁移模型,利用异构迁移模型实现扩充数据集。
本发明的另一目的是提供一种基于异构迁移的软件缺陷预测方法,该方法在利用上述的数据扩充方法对源项目数据集的扩充基础上,构建缺陷分类器,能够增强缺陷分类器的判别准确性,进而提高对软件缺陷的预测准确率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810537415.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置