[发明专利]基于类级别源代码相似度的软件缺陷预测方法在审
申请号: | 202210277028.4 | 申请日: | 2022-03-21 |
公开(公告)号: | CN114564410A | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 文万志;朱宁波;沈陈强;张苏川;陈励文;程帆;吴佳俊;张瑞年;王则林 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 南通一恒专利商标代理事务所(普通合伙) 32553 | 代理人: | 梁金娟 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 级别 源代码 相似 软件 缺陷 预测 方法 | ||
本发明提供一种基于类级别源代码相似性的软件缺陷预测方法,包括如下步骤:S1、构建数据集;S2、构建源码节点集BAset;S3、构建量化源码节点集DTset;S4、构建相似度值集合BCset;S5、获取最优的类实例数方法GMmethod;S6、构建基于类级别源代码相似性的软件缺陷预测方法CL‑SCS。本发明提出细粒度级别的源项目选择方法,可为后续得数据训练提供更好的源项目,该方法能够有效提升软件缺陷预测效果。
技术领域
本发明提供一种基于类级别源代码相似度的软件缺陷预测方法,主要以细粒度级别缩短跨项目之间的数据分布差异,进一步提高软件缺陷预测结果。属于软件缺陷预测的技术领域。
背景技术
软件缺陷在开发阶段不可避免,缺陷程度决定软件质量,缺陷过多会导致软件不可用;且近些年,随着互联网技术,软件功能愈渐复杂,缺陷问题也越发严重,不仅对开发商造成经济损失,甚至会导致安全问题。因此,尽可能减少缺陷导致的各类问题,对于软件的缺陷预测十分必要。
最近,关于软件缺陷预测的研究开始盛行,研究人员提出许多方法来提升软件缺陷预测的质量。而在跨项目缺陷预测方面,其难点在于数据分布差异较大,且多数研究大都基于文件级别的预测,在缺陷预测的方面效果不佳。
为了能够缩小基于文件级别的粗粒度缺陷预测所带来的分布偏差,本发明提出了细粒度级别的源项目选择方法,以类级别的视角,通过确定类实例的量取值选择出高质量的源项目,极大提高软件缺陷预测的效果。
发明内容
本发明要解决的技术问题是提供一种基于类级别源代码相似度的软件缺陷预测方法,提高软件缺陷预测的准确性,能够有效辅助开发人员使用该模型来尽早发现软件缺陷问题,进而减少软件开发过程中的缺陷,具有较高的准确率和效率。
为解决上述技术问题,本发明的实施例提供一种基于类级别源代码相似度的软件缺陷预测方法,包括如下步骤:
S1、构建数据集;
S2、构建源码节点集BAset;
S3、构建量化源码节点集DTset;
S4、构建相似度值集合BCset;
S5、获取最优的类实例数方法GMmethod;
S6、构建基于类级别源代码相似性的软件缺陷预测方法CL-SCS。
其中,所述步骤S1的步骤如下:
S1.1、基于开源网站获取软件项目集合;
S1.2、以项目类作为实例构建项目实例集合;
S1.3、基于开源数据历史记录、项目源代码语法结构、源代码抽象语法树构建特征集{WMC,DIT,NOC,CBO,RFC,LCOM,Ca,Ce,NPM,LCOM3,DAM,MOA,MFA,CAM,IC,CBM,AMC,Max(CC),Avg(CC)},其中,WMC代表每个类的加权方法,DIT代表继承深度,NOC代表孩子的数量,CBO代表对象类之间的耦合,RFC代表对一个类的响应,LCOM和LCOM3代表方法中缺乏的内聚性,Ca代表传入联轴器,Ce代表传出联轴器,NPM代表公共方法的数量,LOC代表代码行数,DAM代表数据访问度量,MOA代表聚集措施,MFA代表功能抽象度的测量,CAM代表分类方法之间的凝聚力,IC代表继承耦合,CBM代表方法之间的耦合,AMC代表平均方法复杂度,Max(CC)代表给定类中方法CC的最大值,Avg(CC)代表给定类方法中CC值的算术平均值;
S1.4、基于实例和特征,形成缺陷预测数据集DATASET。
其中,所述步骤S2的步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210277028.4/2.html,转载请声明来源钻瓜专利网。