[发明专利]基于主题模型软件缺陷检测的方法和系统在审
申请号: | 201910702008.5 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110515838A | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 张俊博;高元钧;徐冬晨;陆平 | 申请(专利权)人: | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41;G06N20/00 |
代理公司: | 31334 上海段和段律师事务所 | 代理人: | 李佳俊;郭国中<国际申请>=<国际公布> |
地址: | 201800 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缺陷模式 软件缺陷检测 矩阵 抽象语法树 构建 重构 自然语言 机器学习算法 缺陷检测结果 特征向量空间 余弦相似度 源代码生成 语义 空间构建 奇异矩阵 缺陷检测 软件代码 语义分析 原始矩阵 主题模型 自动检测 高安全 级检测 映射 降维 数字化 分解 | ||
1.一种基于主题模型软件缺陷检测的方法,其特征在于,包括:
空间构建步骤:令静态源代码生成对应的抽象语法树,将抽象语法树映射到数字化的特征向量空间中,构建原始矩阵;
语义分析步骤:构建缺陷模式库,对缺陷模式库进行奇异矩阵分解降维,构成重构矩阵,对重构矩阵进行余弦相似度计算,得出缺陷检测结果。
2.根据权利要求1所述的基于主题模型软件缺陷检测的方法,其特征在于,所述空间构建步骤包括:
生成语法树步骤:通过编写源代码采用的目标语言所对应的抽象语法树的文法规则,生成词法分析器和语法分析器,通过词法分析器和语法分析器分别对源代码进行语言识别,生成抽象语法树;
映射空间步骤:将源代码的一个函数所对应的抽象语法树作为一个文本,选取抽象语法树的特征项,采用特征项构建特征向量,将得到的抽象语法树与特征向量空间的映射矩阵作为原始矩阵。
3.根据权利要求1所述的基于主题模型软件缺陷检测的方法,其特征在于,所述语义分析步骤包括:
构建缺陷库步骤:选取多种缺陷类型已知的缺陷模式,针对每种缺陷模式选取多个具有所述缺陷模式的源代码作为原始数据,构建抽象语法树,将抽象语法树中的API节点作为特征项,生成缺陷模式库;
分解降维步骤:将待检测代码与缺陷模式库构成新原始矩阵,通过奇异矩阵分解降维将高维向量空间模型表示的文本映射到低维度的潜在语义空间,构成新原始矩阵的重构矩阵;
余弦计算步骤:对重构矩阵进行余弦相似度计算得到余弦矩阵,依据余弦相似度的结果检测待检测代码存在缺陷模式库中的已知缺陷。
4.根据权利要求1所述的基于主题模型软件缺陷检测的方法,其特征在于,所述静态源代码生成对应的抽象语法树采用抽象语法树构建工具进行,将生成的语法树文件通过MATLAB工具构建原始矩阵。
5.根据权利要求3所述的基于主题模型软件缺陷检测的方法,其特征在于,所述缺陷模式库支持添加新缺陷,构建新缺陷模式库。
6.一种基于主题模型软件缺陷检测的系统,其特征在于,包括:
空间构建模块:令静态源代码生成对应的抽象语法树,将抽象语法树映射到数字化的特征向量空间中,构建原始矩阵;
语义分析模块:构建缺陷模式库,对缺陷模式库进行奇异矩阵分解降维,构成重构矩阵,对重构矩阵进行余弦相似度计算,得出缺陷检测结果。
7.根据权利要求6所述的基于主题模型软件缺陷检测的系统,其特征在于,所述空间构建模块包括:
生成语法树模块:通过编写源代码采用的目标语言所对应的抽象语法树的文法规则,生成词法分析器和语法分析器,通过词法分析器和语法分析器分别对源代码进行语言识别,生成抽象语法树;
映射空间模块:将源代码的一个函数所对应的抽象语法树作为一个文本,选取抽象语法树的特征项,采用特征项构建特征向量,将得到的抽象语法树与特征向量空间的映射矩阵作为原始矩阵。
8.根据权利要求6所述的基于主题模型软件缺陷检测的系统,其特征在于,所述语义分析模块包括:
构建缺陷库模块:选取多种缺陷类型已知的缺陷模式,针对每种缺陷模式选取多个具有所述缺陷模式的源代码作为原始数据,构建抽象语法树,将抽象语法树中的API节点作为特征项,生成缺陷模式库;
分解降维模块:将待检测代码与缺陷模式库构成新原始矩阵,通过奇异矩阵分解降维将高维向量空间模型表示的文本映射到低维度的潜在语义空间,构成新原始矩阵的重构矩阵;
余弦计算模块:对重构矩阵进行余弦相似度计算得到余弦矩阵,依据余弦相似度的结果检测待检测代码存在缺陷模式库中的已知缺陷。
9.根据权利要求6所述的基于主题模型软件缺陷检测的系统,其特征在于,所述静态源代码生成对应的抽象语法树采用抽象语法树构建工具进行,将生成的语法树文件通过MATLAB工具构建原始矩阵。
10.根据权利要求8所述的基于主题模型软件缺陷检测的系统,其特征在于,所述缺陷模式库支持添加新缺陷,构建新缺陷模式库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东计算技术研究所(中国电子科技集团公司第三十二研究所),未经华东计算技术研究所(中国电子科技集团公司第三十二研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910702008.5/1.html,转载请声明来源钻瓜专利网。