[发明专利]数据处理方法和装置有效
申请号: | 201610613852.7 | 申请日: | 2016-07-29 |
公开(公告)号: | CN106227668B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 邹越;严明;张蓓;黄斌;袁明凯;魏学峰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/22;G06F17/27;G06F9/44 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 董文倩,褚敏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 | ||
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。
背景技术
目前,对于生成符号化的数据处理方法没有全局符号化的解决方案,在上层静态代码检查项扫描时,非全局符号化的处理结果不够准确。
在传统的编译过程中,抽象语法树(AST)会建立代码表达式之间的逻辑关系,比如,if-else语句段中if语句和else语句的逻辑关系,并不针对单个代码表达式建立抽象语法结构,需要通过编译的语言代码作为输入,一旦输入的语言代码存在语法错误,那么构建出来的全局抽象语法树结构将会是错误且没有参考意义的。这样在编译不通过的情况下对代码进行检测、分析,会影响整体符号化流程和结果。因此,根据抽象语法树进行符号化的数据处理准确性低,对符号化的代码进行扫描的准确性低,进而使程序员不易发现代码中存在的缺陷,降低了使用性能和安全性,降低了程序员处理代码的效率,以及提高了修复成本。
目前的数据处理中采用简单的字符串匹配,准确性低,另外在数据结构设计上,数据结构较大,不能充分地利用数据缓存,降低了数据存储的效率。
针对相关技术中代码扫描的准确性低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法和装置,以至少解决相关技术中代码扫描的准确性低的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法。该数据处理方法包括:获取代码文件,其中,代码文件为包括字符序列的源程序文本;对代码文件中的字符序列进行词法分析,得到词法单元序列;解析代码文件,得到预设对象;对词法单元序列和预设对象进行关联以建立全局符号表,其中,全局符号表用于记录代码文件中的所有预设对象的数据信息;以及根据全局符号表对代码文件执行静态代码扫描,得到扫描结果,其中,扫描结果至少包括对词法单元序列的类型的查找结果。
根据本发明实施例的另一方面,还提供了一种数据处理装置。该数据处理装置包括:第一获取单元,用于获取代码文件,其中,代码文件为包括字符序列的源程序文本;分析单元,用于对代码文件中的字符序列进行词法分析,得到词法单元序列;解析单元,用于解析代码文件,得到预设对象;关联单元,用于对词法单元序列和预设对象进行关联以建立全局符号表,其中,全局符号表用于记录代码文件中的所有预设对象的数据信息;以及扫描单元,用于根据全局符号表对代码文件执行静态代码扫描,得到扫描结果,其中,扫描结果至少包括对词法单元序列的类型的查找结果。
在本发明实施例中,获取代码文件,其中,代码文件为包括字符序列的源程序文本;对代码文件中的字符序列进行词法分析,得到词法单元序列;解析代码文件,得到预设对象;对词法单元序列和预设对象进行关联以建立全局符号表,其中,全局符号表用于记录代码文件中的所有预设对象的数据信息;以及根据全局符号表对代码文件执行静态代码扫描,得到扫描结果,其中,扫描结果至少包括对词法单元序列的类型的查找结果,由于通过对词法单元序列和预设对象进行关联以建立全局符号表,根据全局符号表对代码文件执行静态代码扫描,得到扫描结果,达到了对代码文件进行符号化处理的目的,从而实现了提高代码扫描的准确性的技术效果,进而解决了相关技术中代码扫描的准确性低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据处理方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种数据处理方法的流程图;
图3是根据本发明实施例的一种根据词法单元序列建立树形语法结构的方法的流程图;
图4是根据本发明实施例的一种对词法单元序列和预设对象进行关联以建立全局符号表的方法的流程图;
图5是根据本发明实施例的一种根据处理代码将词法单元序列和与词法单元序列对应的预设对象执行类型关联或者函数关联的方法的流程图;
图6是根据本发明实施例的一种根据全局符号表对代码文件执行静态代码扫描的方法的流程图;
图7是根据本发明实施例的另一种根据全局符号表对代码文件执行静态代码扫描的方法的流程图;
图8是根据本发明实施例的另一种对代码文件中的字符流进行词法分析的方法的流程图;
图9是根据本发明实施例的一种根据全局符号表建立数据流模型的方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610613852.7/2.html,转载请声明来源钻瓜专利网。