[发明专利]一种代码检测方法、装置、存储介质及测试终端有效
申请号: | 201810321498.X | 申请日: | 2018-04-11 |
公开(公告)号: | CN108549538B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 邹越;袁明凯;黄斌;张蓓;严明;魏学峰 | 申请(专利权)人: | 深圳市腾讯网络信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳市宝安区新安街道新安六路御景*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 检测 方法 装置 存储 介质 测试 终端 | ||
1.一种代码检测方法,其特征在于,包括:
获取待检测的代码文件;
构建所述待检测的代码文件对应的全局符号表;
获取所述待检测的代码文件中每个子代码文件对应的词法单元序列表及局部符号表;
从所述待检测的代码文件中获取子代码文件,作为当前子代码文件;
获取所述当前子代码文件对应的词法单元序列表及局部符号表;
获取所述词法单元序列表中的类型参数,所述类型参数包括类型参数的类型名和类型参数的限定名;
当所述类型参数的类型名不是系统类型名时,且所述局部符号表中不存在所述类型参数的类型名时,从所述全局符号表中查找所述类型参数的类型名;
当所述全局符号表中存在所述类型参数的类型名时,将所述词法单元序列表中类型参数的限定名与所述全局符号表中类型参数的限定名进行匹配;
若匹配成功,则将所述词法单元序列表中的类型参数与所述全局符号表中的类型参数进行指针链接,得到更新后的词法单元序列表;
根据所述局部符号表、所述全局符号表及所述更新后的词法单元序列表,确定所述当前子代码文件的检测结果;
返回执行从所述待检测的代码文件中获取子代码文件,作为当前子代码文件的步骤,直至所述待检测的代码文件中的子代码文件检测完毕,得到所述待检测的代码文件的检测结果。
2.根据权利要求1所述的代码检测方法,其特征在于,所述构建所述待检测的代码文件对应的全局符号表的步骤包括:
获取与所述待检测的代码文件中每个子代码文件对应的词法单元序列表,得到词法单元序列表集;
根据所述词法单元序列表集中每个词法单元序列表,构建与所述待检测的代码文件中每个子代码文件对应的局部符号表,得到局部符号表集;
根据所述局部符号表集构建全局符号表。
3.根据权利要求2所述的代码检测方法,其特征在于,所述获取与所述待检测的代码文件中每个子代码文件对应的词法单元序列表,得到词法单元序列表集的步骤包括:
对所述待检测的代码文件中每个子代码文件进行词法分析,得到每个子代码文件对应的词法单元序列表;
根据每个子代码文件对应的词法单元序列表,对所述待检测的代码文件中每个子代码文件进行标准化处理,得到每个标准子代码文件组成的标准代码文件集;
获取所述标准代码文件集中每个标准子代码文件对应的词法单元序列表,得到词法单元序列表集。
4.根据权利要求3所述的代码检测方法,其特征在于,所述根据每个子代码文件对应的词法单元序列表,对所述待检测的代码文件中每个子代码文件进行标准化处理,得到每个标准子代码文件组成的标准代码文件集的步骤包括:
根据每个子代码文件对应的词法单元序列表及代码标准逻辑格式,获取标准的代码格式;
从所述待检测的代码文件中每个子代码文件内查找与所述代码格式不匹配的目标代码格式;
根据所述代码格式对所述目标代码格式进行修改,得到每个标准子代码文件组成的标准代码文件集。
5.根据权利要求3所述的代码检测方法,其特征在于,所述对所述待检测的代码文件中每个子代码文件进行词法分析,得到每个子代码文件对应的词法单元序列表的步骤包括:
获取待检测的代码文件中每个子代码文件内每个词法单元的字符串值;
获取与所述每个词法单元相关联的属性信息;
根据每个词法单元的字符串值及属性信息生成双向链表,得到每个子代码文件对应的词法单元序列表组成的词法单元序列表集。
6.根据权利要求5所述的代码检测方法,其特征在于,所述获取与所述每个词法单元相关联的属性信息的步骤包括:
获取所述每个词法单元在所述待检测的代码文件中每个子代码文件内指向各类信息的指针,得到指针信息;
获取所述每个词法单元的特征信息;
将所述指针信息及每个词法单元的特征信息设置为与所述每个词法单元相关联的属性信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯网络信息技术有限公司,未经深圳市腾讯网络信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810321498.X/1.html,转载请声明来源钻瓜专利网。