[发明专利]一种静态代码缺陷检测分析方法及装置有效
申请号: | 201610658272.X | 申请日: | 2016-08-11 |
公开(公告)号: | CN106294156B | 公开(公告)日: | 2018-12-07 |
发明(设计)人: | 宫云战;邓秋晗;金大海;黄俊飞;王雅文 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;马敬 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种静态代码缺陷检测分析方法及装置,针对现有的对待测源代码文件的代码缺陷检测分析效率低下的问题,其中,检测分析方法包括:获取待测源代码文件,其中,所述待测源代码文件包括:多个待测源代码文件段的测试单元;根据所述待测源代码文件,生成抽象语法树;根据所述抽象语法树,建立每个当前测试单元与其他测试单元的关联,得到关联后的每个当前测试单元与其他测试单元的依赖关系,其中,所述其他测试单元为所述多个测试单元中除所述当前测试单元以外的其他测试单元;根据所述依赖关系,结合串行检测分析与并行检测分析,并对所述待测源代码文件的代码缺陷检测分析,提高待测源代码文件的代码缺陷检测分析效率。 | ||
搜索关键词: | 一种 静态 代码 缺陷 检测 分析 方法 装置 | ||
【主权项】:
1.一种静态代码缺陷检测分析方法,其特征在于,包括:获取待测源代码文件,其中,所述待测源代码文件包括:多个待测源代码文件段的测试单元;根据所述待测源代码文件,生成抽象语法树;根据所述抽象语法树,建立每个当前测试单元与其他测试单元的关联,得到关联后的每个当前测试单元与其他测试单元的依赖关系,其中,所述其他测试单元为所述多个测试单元中除所述当前测试单元以外的其他测试单元;根据所述依赖关系,结合串行检测分析与并行检测分析,并对所述待测源代码文件的代码缺陷检测分析;其中,根据所述依赖关系,结合串行检测分析与并行检测分析,并对所述待测源代码文件的代码缺陷检测分析,包括:根据所述依赖关系,判断所述依赖关系是否是有环有向图;如果否,拓扑排序所述依赖关系的无环有向图中入度为0的节点,并对所述拓扑排序的结果进行逆序排列,得到所述逆序排列后的所述待测源代码文件的代码缺陷检测分析次序;如果是,选择所述依赖关系的有环有向图中出度最小的节点,并断开所述依赖关系的有环有向图中的各个环,将断开后的有环有向图中的各个环重新排序,得到代码缺陷检测分析次序;根据所述代码缺陷检测分析次序,并行检测分析有向图中出度为0的节点处对应的测试单元,得到并行检测分析的结果;根据所述代码缺陷检测分析次序和所述并行检测分析的结果,串行检测分析所述待测源代码文件中的剩余测试单元,其中,所述剩余测试单元为除所述出度为0的节点处对应的测试单元以外的其他剩余测试单元。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610658272.X/,转载请声明来源钻瓜专利网。
- 上一篇:自动化网络通信服务装置
- 下一篇:一种无线网络数传电台数据传输装置