[发明专利]基于类级别源代码相似度的软件缺陷预测方法在审
申请号: | 202210277028.4 | 申请日: | 2022-03-21 |
公开(公告)号: | CN114564410A | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 文万志;朱宁波;沈陈强;张苏川;陈励文;程帆;吴佳俊;张瑞年;王则林 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 南通一恒专利商标代理事务所(普通合伙) 32553 | 代理人: | 梁金娟 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 级别 源代码 相似 软件 缺陷 预测 方法 | ||
1.一种基于类级别源代码相似度的软件缺陷预测方法,其特征在于,包括如下步骤:
S1、构建数据集;
S2、构建源码节点集BAset;
S3、构建量化源码节点集DTset;
S4、构建相似度值集合BCset;
S5、获取最优的类实例数方法GMmethod;
S6、构建基于类级别源代码相似性的软件缺陷预测方法CL-SCS。
2.根据权利要求1所述的基于类级别源代码相似度的软件缺陷预测方法,其特征在于,所述步骤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。
3.根据权利要求1所述的基于类级别源代码相似度的软件缺陷预测方法,其特征在于,所述步骤S2的步骤如下:
基于AST提取每个项目版本类实例源码节点转换成相关向量,将每个源代码文件解析为一颗AST,节点类型定义分别为:classDeclaration、expressionStatement,VariableDeclaration,methodDeclaration。
4.根据权利要求1所述的基于类级别源代码相似度的软件缺陷预测方法,其特征在于,所述步骤S3的步骤如下:
S3.1、创建字典:根据源代码中所出现的语法单词进行频次计算,为保证字典准确度,规定出现频次大于1的词进行收录,舍去小于1的词;词典的构建为单词key和编号value,类似[“key”,value];
S3.2、词袋表示向量:根据步骤S3.1所创建的字典,使用doc2bow词袋模型对每个不同单词的词频进行统计,且用词袋的表示方法转为向量;
S3.3、建立语料库:基于步骤S3.2中的词袋表示向量,构建语料库corpus;
S3.4、初始化TF-IDF模型:基于步骤S3.3建立的语料库,建立TF-IDF模型,并生成TF-IDF向量;
其中,步骤S3.1~S3.4基于Doc2Bow模型和TF-IDF模型构建量化源码节点集DTset。
5.根据权利要求1所述的基于类级别源代码相似度的软件缺陷预测方法,其特征在于,所述步骤S4的步骤为:
余弦相似度公式:根据余弦相似度公式计算目标项目中每个类文件所对应训练项目所有类之间的相似度值。
6.根据权利要求1所述的基于类级别源代码相似度的软件缺陷预测方法,其特征在于,所述步骤S5的步骤为:
确定最优的类实例数量:根据步骤S4中所计算的相似度值集合,对相似度值进行排序,选取相似度最高的n个类实例,为了确定最优类实例数量n值,其中n=2,3,…,20等整数值,最终确定n个训练项目的类实例,并对选取的n个类实例进行相似度累加,作为该源项目选取的指标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210277028.4/1.html,转载请声明来源钻瓜专利网。