一种代码检测方法、终端、服务器及系统技术方案

技术编号:18302035 阅读:82 留言:0更新日期:2018-06-28 11:58
本发明专利技术实施例中公开了一种代码检测方法、终端、服务器及系统,通过获取终端上传的待检测代码;获取与终端对应的自定义代码检测规则;依据自定义代码检测规则对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则对待检测代码进行代码扫描,得到代码扫描结果;依据代码扫描结果确定代码检测结果。本发明专利技术实施例是利用与终端对应的自定义代码检测规则,对代码检测规则库更新后,得到的更新后的代码检测规则,对待检测代码进行检测,更新后的代码检测规则与终端对应,符合终端侧用户的代码编写习惯,解决了现有代码检测过程中用到的代码检测规则与用户实际编写的代码不适配的问题,提高代码检测结果的准确度。

A code detection method, terminal, server and system

In the embodiment of the invention, a code detection method, terminal, server and system are disclosed. By obtaining the code to be detected by the terminal, the custom code detection rules corresponding to the terminal are obtained, and the original code detection rules in the code detection rule library are updated according to the custom code detection rules. After the new code detection rule, the code is scanned to get the result of code scanning, and the result of code detection is determined according to the result of code scanning. The implementation example of the invention is to use the custom code detection rules corresponding to the terminal, the updated code detection rules after the code detection rule base is updated, the detection code is detected, the updated code detection rules correspond to the terminal, and the code writing habits of the terminal side users are conformed to the code writing habit, and the existing generation is solved. The code detection rules in the code detection process are not compatible with the actual code written by the users, so as to improve the accuracy of the code detection results.

【技术实现步骤摘要】
一种代码检测方法、终端、服务器及系统
本专利技术涉及数据处理
,具体涉及一种代码检测方法、终端、服务器及系统。
技术介绍
代码检测技术是通过对程序中的代码进行扫描,检测出代码中存在的错误和缺陷,代码中常见的错误和缺陷例如:参数不匹配、有歧义的嵌套语句、错误的递归、非法计算、空指针引用等。通过代码检测技术检测出代码中存在的这些错误和缺陷,进而指导用户对代码进行改进,从而提高代码质量,缩短软件开发时间。然而,现有技术中的代码检测技术都是基于已经确定的代码规则对代码进行检测,而由于代码的种类繁多,每个用户编写代码的习惯和编写语言都有很大差异,采用确定的代码检测规则对代码进行检测,就会出现代码检测过程中用到的代码检测规则与用户实际编写的代码不适配的问题,导致代码检测结果不准确。
技术实现思路
有鉴于此,本专利技术实施例提供一种代码检测方法、终端、服务器及系统,解决了现有技术中的代码检测技术与用户实际编写的代码不适配,导致的代码检测结果不准确的问题。为实现上述目的,本专利技术实施例提供如下技术方案:一种代码检测方法,包括:获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。一种代码检测方法,包括:将待检测代码发送至服务器;对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则;依据所述历史代码编写规则生成自定义代码检测规则,并发送至服务器;获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果,所述代码检测结果为所述服务器依据所述自定义代码检测规则,对代码检测规则库中存储的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果,依据所述代码扫描结果确定的。一种代码检测装置,包括:待检测代码获取模块,用于获取终端上传的待检测代码;自定义代码检测规则获取模块,用于获取与所述终端对应的自定义代码检测规则;代码检测规则更新模块,用于依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;第一代码扫描模块,用于利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;代码检测结果确定模块,用于依据所述代码扫描结果确定代码检测结果。一种代码检测装置,包括:待检测代码发送模块,用于将待检测代码发送至服务器;历史代码编写规则获取模块,用于对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则;自定义代码检测规则生成模块,用于依据所述历史代码编写规则生成自定义代码检测规则;自定义代码检测规则发送模块,用于将所述自定义代码检测规则发送至服务器;代码检测结果获取模块,用于获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果,所述代码检测结果为所述服务器依据所述自定义代码检测规则,对代码检测规则库中存储的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果,依据所述代码扫描结果确定的。一种服务器,包括:如上所述的代码检测装置。一种终端,包括:如上所述的代码检测装置。一种代码检测系统,包括:终端以及服务器,终端用于将待检测代码发送至服务器;对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则;依据所述历史代码编写规则生成自定义代码检测规则,并发送至服务器;获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果;服务器用于获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。基于上述技术方案,本专利技术实施例中公开了一种代码检测方法、终端、服务器及系统,通过获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。本专利技术实施例中是利用与终端对应的自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新后,得到的更新后的代码检测规则,对待检测代码进行检测,更新后的代码检测规则与终端对应,符合终端侧用户的代码编写习惯,解决了现有代码检测过程中用到的代码检测规则与用户实际编写的代码不适配的问题,提高代码检测结果的准确度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种代码检测系统的结构示意图;图2为本专利技术实施例提供的一种代码检测方法的信令流程图;图3为本专利技术实施例提供的一种代码检测方法流程图;图4为本专利技术实施例提供的另一种代码检测方法流程图;图5为本专利技术实施例提供的又一种代码检测方法流程图;图6为本专利技术实施例提供的对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则方法流程图;图7为本专利技术实施例提供的另一种对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则方法的流程图;图8为本专利技术实施例提供的代码检测装置的结构框图;图9为本专利技术实施例提供的代码检测装置的硬件结构框图;图10为本专利技术实施例提供的另一种代码检测装置的结构框图;图11为本专利技术实施例提供的另一种代码检测装置的硬件结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。代码检测技术主要是基于词法分析、语法分析、控制流分析或者数据流分析等技术,通过对用户编写的代码进行扫描,找出代码中隐藏的错误和缺陷,进而指导用户对代码进行改进,从而提高代码质量,缩短软件开发时间。但是现有技术中,采用确定的代码规则对代码进行检测,就会出现代码检测技术与用户实际编写的代码不适配的问题,导致代码检测结果不准确。图1为本专利技术实施例提供的代码检测系统的结构示意图,本专利技术实施例提供的代码检测方法可由该代码检测系统实施;参照图1,该代码检测系统可以包括:终端10和服务器20。其中,终端10具体可以为PC机、手机或平板电脑等终端设备,其上安装有代码编辑软件。服务器20具体可为集群服务器,该服务器具备通过网络与终端进行通信的功能。基于图1所示的代码检测系统,图2示出了本专利技术实施例提供的代码检测方法的信令流程图,参照图2,该流程可以包括:步骤S10、终端将待检测代码发送至服务器;步骤S11、终端对用户的代码编写过程进行监控,获取用户代码编写过程中的历本文档来自技高网...
一种代码检测方法、终端、服务器及系统

【技术保护点】
1.一种代码检测方法,其特征在于,包括:获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。

【技术特征摘要】
1.一种代码检测方法,其特征在于,包括:获取终端上传的待检测代码;获取与所述终端对应的自定义代码检测规则;依据所述自定义代码检测规则,对代码检测规则库中的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果;依据所述代码扫描结果确定代码检测结果。2.根据权利要求1所述的方法,其特征在于,所述利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果的过程包括:从所述更新后的代码检测规则中获取检测规则匹配条件,所述检测规则匹配条件对应有互相匹配的至少两个检测规则;根据所述检测规则匹配条件,对所述待检测代码进行代码扫描,判断所述待检测代码中是否存在符合互相匹配的检测规则的代码,获得判断结果;依据判断结果,得到代码扫描结果。3.根据权利要求1所述的方法,其特征在于,所述利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果的过程包括:从所述更新后的代码检测规则中获取代码语句块标识;根据所述代码语句块标识,对所述待检测代码进行代码扫描,判断所述待检测代码中是否存在与所述代码语句块标识不匹配的代码语句块,获得第一判断结果;依据所述第一判断结果,得到代码扫描结果。4.根据权利要求3所述的方法,其特征在于,所述依据所述代码扫描结果确定代码检测结果的过程包括:依据所述待检测代码中与所述代码语句块标识不匹配的代码语句块,生成代码语句块标识不匹配的错误提示;或者;依据所述待检测代码中与所述代码语句块标识不匹配的代码语句块,获取所述待检测代码中与所述代码语句块标识不匹配的错误代码。5.根据权利要求3所述的方法,其特征在于,在根据所述代码语句块标识,对所述待检测代码进行代码扫描,判断所述待检测代码中是否存在与所述代码语句块标识不匹配的代码语句块,获得第一判断结果之后还包括:对于待检测代码中代码语句块标识匹配的代码语句块,利用更新后的代码检测规则,对其中的每条语句进行代码扫描,得到第二判断结果。6.根据权利要求1所述的方法,其特征在于,在依据所述代码扫描结果确定代码检测结果之后,还包括:将所述代码检测结果发送至终端。7.一种代码检测方法,其特征在于,包括:将待检测代码发送至服务器;对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则;依据所述历史代码编写规则生成自定义代码检测规则,并发送至服务器;获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果,所述代码检测结果为所述服务器依据所述自定义代码检测规则,对代码检测规则库中存储的原始代码检测规则进行更新;利用更新后的代码检测规则,对所述待检测代码进行代码扫描,得到代码扫描结果,依据所述代码扫描结果确定的。8.根据权利要求7所述的方法,其特征在于,所述对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则的过程包括:对用户代码编写过程中生成的代码进行逐行扫描,获取代码扫描结果;依据所述代码扫描结果,在代码编写语言数据库中查询与所述代码扫描结果中的代码相匹配的代码编写语言;将查询到的与所述代码扫描结果中的代码相匹配的代码编写语言确定为用户的历史代码编写语言。9.根据权利要求7所述的方法,其特征在于,所述对用户的代码编写过程进行监控,获取用户代码编写过程中的历史代码编写规则的过程包括:在代码编写过程中,获取用户对系统提示的不同类型的代码检测错误的选择结果;统计用户对系统提示的不同类型的代码检测错误的选择结果中所包含的选择结果类型以及与相应选择结果类型对应的选择次数;依据所述选择结果类型以及与相应选择结果类型对应的选择次数,确定用户对应的历史代码编写错误。10.根据权利要求8所述的方法,其特征在于,在获取服务器对所述待检测代码进行代码检测之后返回的代码检测结果之后,还包括:依据所述代码检测结果生成错误提示设置项以及所述错误提示设置项的默认设置;展示所述错误提示设置项及所述错误提示设置项的默认设置;或者;依据所述代码检测结果生成错误代码设置项以及所述错误代码设置项的默认设置;展示所述错误代码设置项及所述错误代码设置项的默认设置。...

【专利技术属性】
技术研发人员:朱辉云陈焕葵张少愚覃竞才曾岳锋
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1