[发明专利]一种基于多语义提取器的软件缺陷预测方法在审
申请号: | 202210336797.7 | 申请日: | 2022-03-31 |
公开(公告)号: | CN114565063A | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 文万志;张瑞年;陈励文;于梦;高欣欣;程帆;吴佳俊;沈陈强;程实 | 申请(专利权)人: | 南通大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06F40/30;G06N3/04;G06N3/08 |
代理公司: | 南通一恒专利商标代理事务所(普通合伙) 32553 | 代理人: | 梁金娟 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 语义 提取 软件 缺陷 预测 方法 | ||
1.一种基于多语义提取器的软件缺陷预测方法,其特征在于,包括如下步骤:
S1、构建源项目代码实例向量集VOSPCI;
S2、构建目标项目代码实例向量集VOTPCI;
S3、构建语义提取器GSEM;
S4、组建多种语义列表MS-list;
S5、构建分类方法集SOCM;
S6、语义列表分类结果分析;
S7、与传统度量元结果比较;
S8、构建基于多语义提取器的软件缺陷预测方法DPMSE。
2.根据权利要求1所述的基于多语义提取器的软件缺陷预测方法,其特征在于,步骤S1包括如下步骤:
S1.1、读取源项目实例文件名称name_si,在数据集中找到对应源代码code_si;将源代码按照预定的规则分割成一个个的标识token,将之前得到的token合并为一个列表,其中i=1,2,3,…,n;
S1.2、token是一个字符串,将token中的每一个字符转换成ASCII中对应的十进制值,然后采用加法运算规则计算该token中所有token对应的十进制值,将得到的结果作为该token的语义值sv;
S1.3、将实例中的所有token按照步骤S1.2计算得到实例对应的semantic_listi=[sv1,sv2,…,svj],其中j=1,2,3,…,m;
S1.4、将源项目中的所有实例按步骤S1.3处理得到semantic_listi,计算每一个semantic_list列表的长度,统计列表的最大长度sematic_list_max,将长度没有达到sematic_list_max的列表使用0填补到最大长度;
S1.5、设定列表长度clip_len,将每一个semantic_list长度按clip_len截取得到semantic_clipi;
S1.6、构建源项目代码实例向量集VOSPCI=[semantic_clip1,semantic_clip2,…,semantic_clipi]。
3.根据权利要求1所述的基于多语义提取器的软件缺陷预测方法,其特征在于,步骤S2包括如下步骤:
S2.1、读取目标项目实例文件名称name_ti,在数据集中找到对应源代码code_ti;将源代码按照预定的规则分割成一个个的标识token,将之前得到的token合并为一个列表,其中i=1,2,3,…,n;
S2.2、token是一个字符串,将token中的每一个字符转换成ASCII中对应的十进制值,然后采用加法运算规则计算该token中所有token对应的十进制值,将得到的结果作为该token的语义值sv;
S2.3、将实例中的所有token按照步骤S2.2计算得到实例对应的semantic_listi=[sv1,sv2,…,svj],其中j=1,2,3,…,m;
S2.4、将目标项目中的所有实例按步骤S2.3处理得到semantic_listi,计算每一个semantic_list列表的长度,统计列表的最大长度sematic_list_max,将长度没有达到sematic_list_max的列表使用0填补到最大长度;
S2.5、设定列表长度clip_len,将每一个semantic_list长度按clip_len截取得到semantic_clipi;
S2.6、构建目标项目代码实例向量集VOTPCI=[semantic_clip1,semantic_clip2,…,semantic_clipi]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210336797.7/1.html,转载请声明来源钻瓜专利网。