CN110018958A - 代码缺陷扫描方法、装置、计算机设备和存储介质 - Google Patents
代码缺陷扫描方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110018958A CN110018958A CN201910184257.XA CN201910184257A CN110018958A CN 110018958 A CN110018958 A CN 110018958A CN 201910184257 A CN201910184257 A CN 201910184257A CN 110018958 A CN110018958 A CN 110018958A
- Authority
- CN
- China
- Prior art keywords
- code
- information
- scanned
- defect
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本申请涉及一种代码缺陷扫描方法、装置、计算机设备和存储介质。所述方法包括:获取代码扫描指令;响应于所述代码扫描指令,获取待扫描代码;从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。采用本方法能够基于缺陷信息数据库中录入的代码缺陷信息对待扫描代码进行更加完善的代码缺陷扫描,从而提高软件代码中的缺陷检测效率。
Description
技术领域
本申请涉及信息处理技术领域,特别是涉及一种代码缺陷扫描方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了信息处理技术,信息处理技术中若要使信息通过计算机进行处理,需要通过软件代码来实现,通过运行编写好的软件代码实现通过计算机对信息的处理功能。
然而,在根据软件代码编写完成后,都需要对软件代码进行扫描,经过扫描检测代码中是否存在缺陷,而在传统的技术中,都是代码扫描工具按照预设的扫描内容对代码进行扫描,使得扫描内容比较局限,软件代码中的缺陷检测效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高软件代码中的缺陷检测效率的代码缺陷扫描方法、装置、计算机设备和存储介质。
一种代码缺陷扫描方法,所述方法包括:
获取代码扫描指令;
响应于所述代码扫描指令,获取待扫描代码;
从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;
按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;
从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;
根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
一种软件代码扫描装置,所述装置包括:
指令获取模块,用于获取代码扫描指令;
代码获取模块,用于响应于所述代码扫描指令,获取待扫描代码;
缺陷类型读取模块,用于从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;
代码扫描模块,用于按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;
缺陷原因查询模块,用于从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;
报告生成模块,用于根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取代码扫描指令;
响应于所述代码扫描指令,获取待扫描代码;
从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;
按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;
从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;
根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取代码扫描指令;
响应于所述代码扫描指令,获取待扫描代码;
从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;
按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;
从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;
根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
上述代码缺陷扫描方法、装置、计算机设备和存储介质,在获取待扫描代码后,从扫描信息库中的代码缺陷信息,读取缺陷类型;其中,扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的。按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型,提高了代码扫描缺陷的准确性。从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告,提高了代码缺陷报告的内容更加完整,提高了代码扫描效率。
附图说明
图1为一个实施例中代码缺陷扫描方法的应用场景图;
图2为一个实施例中代码缺陷扫描方法的流程示意图;
图3为一个实施例中存储待扫描代码的步骤的流程示意图;
图4为一个实施例中同步代码缺陷信息的步骤的流程示意图;
图5为一个实施例中生成代码缺陷报告的步骤的流程示意图;
图6为一个实施例中生成代码异常通知的步骤的流程示意图;
图7为一个实施例中代码缺陷扫描装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的代码缺陷扫描方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种代码缺陷扫描方法,该方法既可以应用在终端,也可以应用在服务器。本实施例以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,获取代码扫描指令。
具体地,终端中展示有代码查询页面,检测到代码查询页面中的代码扫描按钮被点击时,获取代码查询页面中当前展示代码的代码标识,根据获取到的代码标识生成代码扫描指令。
在一个实施例中,终端在检测到代码查询页面中的代码扫描按钮被点击时,获取代码查询页面中选择的代码标识,根据获取到的代码标识生成代码扫描指令。
S204,响应于代码扫描指令,获取待扫描代码。
具体地,终端在获取到代码扫描指令后,对代码扫描指令进行解析,通过解析提取代码扫描指令中的代码标识,从代码库中查询与提取到的代码标识对应的代码,以查询到的代码作为待扫描代码。代码库中存储着待扫描代码。
在一个实施例中,代码库可以设置在服务器中。终端对代码扫描指令解析得到代码标识,根据代码标识生成代码获取请求,将代码获取请求发送至服务器。服务器根据代码获取请求中的代码标识从代码库中查询待扫描代码,将查询到的待扫描代码发送至终端。终端接收服务器根据代码获取请求返回的待扫描代码。
在一个实施例中,S204具体还包括:获取代码扫描指令中的待扫描代码标识;在待扫描代码库中查询与提取到的待扫描代码标识对应的待扫描代码。
具体地,终端在获取到代码扫描指令后,对代码扫描指令进行解析,通过解析获取代码扫描指令中的待扫描代码标识,根据待扫描代码标识在待扫描代码库中查询待扫描代码。
在一个实施例中,终端根据从代码扫描指令中的待扫描代码标识生成待扫描代码获取请求,将待扫描代码获取请求发送至服务器。服务器对待扫描代码获取请求进行解析,通过解析提取待扫描代码获取请求中的待扫描代码标识,根据待扫描代码标识在待扫描代码库中查询待扫描代码,将查询到的待扫描代码发送至终端。终端接收服务器根据待扫描代码获取请求返回的待扫描代码。
S206,从扫描信息库中的代码缺陷信息,读取缺陷类型;扫描信息库中的代码缺陷信息为从缺陷信息数据库同步得到的;。
其中,缺陷信息数据库中存储着录入的代码缺陷信息,代码缺陷信息包括代码缺陷类型、缺陷修复信息和代码缺陷标识中的至少一种。扫描信息库包括扫描内容信息,扫描内容信息包括代码格式信息、代码目标模块标识、代码缺陷类型和缺陷修复信息中的至少一种。缺陷信息数据库和代码缺陷信息既可以设置在终端,也可以设置在服务器。
具体地,终端在获取到待扫描代码后,获取缺陷信息数据库中录入的代码缺陷信息,将获取到的代码缺陷信息存储到扫描信息库中。代码缺陷信息中包括缺陷类型,还可以包括代码类型、问题原因信息和代码缺陷修改信息中的至少一种。终端从扫描信息库中的代码缺陷信息中,读取缺陷类型。
在一个实施例中,终端在获取到待扫描代码后,获取缺陷信息数据库中的历史访问记录,提取历史访问记录中访问地址和前次访问时间,根据提取到的访问地址访问缺陷信息数据库,在访问的缺陷信息数据库中提取录入时间早于前次访问时间的代码缺陷信息,将提取到的代码缺陷信息存储至扫描信息库中。
S208,按照读取到缺陷类型对待扫描代码进行扫描,得到待扫描代码中的缺陷类型。
具体地,终端在读取到缺陷类型后,确定与读取到的各缺陷类型对应代码类型,根据缺陷类型和代码类型对待扫描代码进行扫描,得到待扫描代码中的缺陷类型。
S210,从扫描信息库中的代码缺陷信息,查询与待扫描代码中的缺陷类型对应的问题原因信息。具体地,终端从扫描信息库中的代码缺陷信息,查询与扫描代码中缺陷类型对应的代码缺陷信息,从查询到的代码缺陷信息中提取问题原因信息。问题原因信息为缺陷类型对应的产生原因的信息。
S210根据待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
具体地,终端将待扫描代码中的缺陷类型和查询到的问题原因信息对应存储,得到存储每个缺陷类型对应的问题原因的文件,以得到的文件作为待扫描代码对应的代码缺陷报告。
本实施例中,从扫描信息库中的代码缺陷信息,读取缺陷类型;其中,扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的。按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型,提高了代码扫描缺陷的准确性。从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告,提高了代码缺陷报告的内容更加完整,提高了代码扫描效率。
如图3所示,在一个实施例中,S202之前具体还包括存储待扫描代码的步骤,该步骤具体包括以下内容:
S302,展示代码提交页面。
其中,代码提交页面中可以展示录入的代码。代码提交页面设置有提交按钮,提交按钮用于提交代码提交页面中当前展示的代码。
具体地,终端在获取到代码录入指令时,根据代码录入指令获取代码提交页面数据,根据获取到的代码提交页面数据展示代码提交页面。
S304,检测代码提交页面中的提交按钮是否发生被点击操作。
具体地,终端对代码提交页面中的提交按钮进行检测,检测提交按钮是否发生点击操作,当检测到提交按钮发生点击操作时,触发代码提交指令。代码提交指令用于指示终端将代码提交页面中录入的代码存储。
S306,当检测到代码提交页面中的提交按钮发生点击操作时,获取代码提交页面录入的代码。
具体地,当检测到代码提交页面中的提交按钮发生点击操作时,触发代码提交指令,终端根据代码提交指令获取代码提交页面中录入的代码。
S308,将获取到的代码存储在待扫描代码库中。
具体地,终端在从代码提交页面中获取录入的代码后,将获取到的代码发送至待扫描代码库进行存储。
在一个实施例中,终端根据获取到的代码生成代码存储请求,将代码存储请求发送至服务器。服务器对代码存储请求进行解析,通过解析提取代码存储请求中的代码,提取到的代码存储至待扫描代码库,向终端返回代码存储成功通知。
本实施例中,通过代码提交页面中录入代码,在检测到代码提交页面中的提交按钮被点击时,将录入的代码存储至待扫描代码库,通过待扫描代码库对录入的代码进行存储,保证了待扫描代码的安全性。
如图4所示,在一个实施例中,S206具体还包括同步代码缺陷信息的步骤,该步骤具体包括以下内容:
S402,提取缺陷信息数据库中录入的代码缺陷信息。
具体地,终端定期访问缺陷信息数据库,通过访问缺陷信息数据库,对缺陷信息数据库中录入的代码缺陷信息进行提取。
在一个实施例中,终端获取缺陷信息数据库地址,根据缺陷信息数据库地址生成信息提取请求,将信息提取请求发送至服务器。服务器接收到信息提取请求后,提取信息提取请求中的缺陷信息数据库地址,从缺陷信息数据库地址对应的缺陷信息数据库中提取录入的代码缺陷信息,将提取到的代码缺陷信息发送至终端。终端接收服务器返回的代码缺陷信息。
S404,将提取到的代码缺陷信息存储到扫描信息库。
具体地,终端接收到代码缺陷信息后,获取扫描信息库地址,根据代码缺陷信息和扫描信息库地址生成存储指令,根据存储指令将代码缺陷信息存储到扫描信息库中。
S406,对扫描信息库中的代码缺陷信息进行去重处理。
具体地,终端检测在扫描信息库中扫描是否存在相同的代码缺陷信息,当检测到存在相同的多个代码缺陷信息,对相同的多个代码缺陷信息进行去重处理,保留相同的多个代码缺陷信息中的一个代码缺陷信息。
本实施例中,在将缺陷信息数据库中录入的代码缺陷信息存储到扫描信息库之后,对扫描信息库中的代码缺陷信息进行去重处理,减少了扫描信息库中的重复的信息,提高了扫描信息库中存储空间的利用率。
如图5所示,在一个实施例中,S210具体包括生成代码缺陷报告的步骤,该步骤具体包括以下内容:
S502,从扫描信息库中的代码缺陷信息,提取与待扫描代码中的缺陷类型对应的代码缺陷修复信息。
具体地,终端在扫描信息库中的代码缺陷信息中,查询与待扫描代码中的缺陷类型对应的代码缺陷信息,从代码缺陷信息中提取与待扫描代码中的缺陷类型对应的代码缺陷修复信息。代码缺陷修复信息用于对扫描到的代码缺陷进行修复的信息。
S506,根据代码缺陷修复信息对待扫描代码中的代码缺陷对应的代码进行修复,并记录代码修复信息。
具体地,终端提取代码缺陷修复信息中的中的缺陷修复方案,根据提取到的缺陷修复方案对待扫描代码中的代码缺陷对应的代码进行修复,并记录代码缺陷位置、缺陷类型和代码修复方案中的至少一种,得到记录的代码修复信息。
S508,根据待扫描代码中的缺陷类型、查询到的问题原因信息和代码修复信息生成代码缺陷报告。
具体地,终端获取代码缺陷结果对应的代码修复信息,根据所述待扫描代码中的缺陷类型、查询到的问题原因信息和代码修复信息生成代码缺陷报告。代码缺陷报告中还包括代码缺陷修复结果。
本实施例中,在扫描到代码缺陷结果后,还可以根据代码缺陷结果对应的代码缺陷修复信息对代码缺陷进行修复,无需人工对代码缺陷进行修改,提高了代码缺陷的修复效率,并记录代码修复信息,根据代码修复信息生成代码缺陷报告。
如图6所示,在一个实施例中,S210之后还包括生成代码异常通知的步骤,该步骤具体包括以下内容:
S602,提取代码缺陷报告中的代码修复失败信息。
具体地,代码缺陷报告中国包括代码修复成功信息和代码修改失败信息。终端在生成代码缺陷报告后,对代码缺陷报告进行解析,提取代码缺陷报告中的代码修复失败信息。
S604,根据代码修复失败信息确定修复失败位置。
具体地,终端在提取到代码修复失败信息后,提取代码修复失败信息中的代码缺陷类型,查询与代码缺陷类型对应的代码缺陷位置,以查询到的代码缺陷位置为修改失败位置。代码缺陷位置信息可以是代码模块信息。
S606,确定修复失败位置对应的开发者信息。
具体地,终端中存储着代码开发信息,代码开发信息中包括代码模块信息与开发者信息的对应关系。终端在确定修复失败位置后,在代码开发信息中查询与修改失败位置对应的开发者信息。开发者信息中包括开发者标识。
S608,根据开发者信息和代码修复失败信息生成代码异常通知。
具体地,终端将开发者信息和代码修复失败信息进行封装,通过封装得到代码异常通知。代码异常通知为用于通知开发者所开发的代码模块存在代码异常的信息。
S610,将代码异常通知发送至开发者终端。
具体地,终端提取开发者信息中开发者标识,确定开发者标识对应的终端地址,将代码异常通知发送至以确定的终端地址对应的开发者终端。
本实施例中,根据代码缺陷报告中的代码修复失败信息确定修复失败位置,确定修复失败位置对应的开发者信息,根据开发者信息和代码修复失败信息生成代码异常通知,将代码异常通知发送至开发者终端,以便与开发者通过开发者终端中的代码异常通知对代码异常进行检查,提高对代码异常的修复效率。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种代码缺陷扫描装置700,包括:指令获取模块702、代码获取模块704、缺陷类型读取模块706、代码扫描模块708、缺陷原因查询模块710和报告生成模块712,其中:
指令获取模块702,用于获取代码扫描指令。
代码获取模块704,用于响应于代码扫描指令,获取待扫描代码。
缺陷类型读取模块706,用于从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的。
代码扫描模块708,用于按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型。
缺陷原因查询模块710,用于从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息。
报告生成模块712,用于根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
在一个实施例中,代码缺陷扫描装置700还包括代码存储模块,代码存储模块还用于展示代码提交页面;检测代码提交页面中的提交按钮是否被点击;当检测到代码提交页面中的提交按钮被点击时,获取代码提交页面录入的代码;将获取到的代码存储在待扫描代码库中。
在一个实施例中,代码获取模块704还用于获取代码扫描指令中的待扫描代码标识;在待扫描代码库中查询与提取到的待扫描代码标识对应的待扫描代码。
在一个实施例中,缺陷类型读取模块706还用于提取缺陷信息数据库中录入的代码缺陷信息;将提取到的代码缺陷信息存储到扫描信息库;对扫描信息库中的代码缺陷信息进行去重处理。
在一个实施例中,报告得到模块712还用于从扫描信息库中的代码缺陷信息,提取与待扫描代码中的缺陷类型对应的代码缺陷修复信息;根据代码缺陷修复信息对待扫描代码中的代码缺陷对应的代码进行修复,并记录代码修复信息;根据待扫描代码中的缺陷类型、查询到的问题原因信息和代码修复信息生成代码缺陷报告。
在一个实施例中,代码缺陷扫描装置700还包括通知生成模块,通知生成模块还用于提取代码缺陷报告中的代码修复失败信息;根据代码修复失败信息确定修复失败位置;确定修复失败位置对应的开发者信息;根据开发者信息和代码修复失败信息生成代码异常通知;将代码异常通知发送至开发者终端。
本实施例中,在获取待扫描代码后,从扫描信息库中的代码缺陷信息,读取缺陷类型;其中,扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的。按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型,提高了代码扫描缺陷的准确性。从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告,提高了代码缺陷报告的内容更加完整,提高了代码扫描效率。
关于代码缺陷扫描装置的具体限定可以参见上文中对于代码缺陷扫描方法的限定,在此不再赘述。上述代码缺陷扫描装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码缺陷扫描方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取代码扫描指令;响应于代码扫描指令,获取待扫描代码;从扫描信息库中的代码缺陷信息,读取缺陷类型;扫描信息库中的代码缺陷信息为从缺陷信息数据库同步得到的;按照读取到缺陷类型对待扫描代码进行扫描,得到待扫描代码中的缺陷类型;从扫描信息库中的代码缺陷信息,查询与待扫描代码中的缺陷类型对应的问题原因信息;根据待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
在一个实施例中,获取触发的代码扫描指令之前,处理器执行计算机程序时还实现以下步骤:展示代码提交页面;检测代码提交页面中的提交按钮是否发生点击操作;当检测到代码提交页面中的提交按钮发生点击操作时,获取代码提交页面录入的代码;将获取到的代码存储在待扫描代码库中。
在一个实施例中,响应于代码扫描指令,获取待扫描代码包括:获取代码扫描指令中的待扫描代码标识;在待扫描代码库中查询与提取到的待扫描代码标识对应的待扫描代码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:提取缺陷信息数据库中录入的代码缺陷信息;将提取到的代码缺陷信息存储到扫描信息库;对扫描信息库中的代码缺陷信息进行去重处理。
在一个实施例中,根据待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告包括:从扫描信息库中的代码缺陷信息,提取与待扫描代码中的缺陷类型对应的代码缺陷修复信息;根据代码缺陷修复信息对待扫描代码中的代码缺陷对应的代码进行修复,并记录代码修复信息;根据待扫描代码中的缺陷类型、查询到的问题原因信息和代码修复信息生成代码缺陷报告。
在一个实施例中,按照代码扫描方式对待扫描代码进行扫描,得到代码缺陷报告之后,处理器执行计算机程序时还实现以下步骤:提取代码缺陷报告中的代码修复失败信息;根据代码修复失败信息确定修复失败位置;确定修复失败位置对应的开发者信息;根据开发者信息和代码修复失败信息生成代码异常通知;将代码异常通知发送至开发者终端。
本实施例中,在获取待扫描代码后,从扫描信息库中的代码缺陷信息,读取缺陷类型;其中,扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的。按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型,提高了代码扫描缺陷的准确性。从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告,提高了代码缺陷报告的内容更加完整,提高了代码扫描效率。。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取代码扫描指令;响应于代码扫描指令,获取待扫描代码;从扫描信息库中的代码缺陷信息,读取缺陷类型;扫描信息库中的代码缺陷信息为从缺陷信息数据库同步得到的;按照读取到缺陷类型对待扫描代码进行扫描,得到待扫描代码中的缺陷类型;从扫描信息库中的代码缺陷信息,查询与待扫描代码中的缺陷类型对应的问题原因信息;根据待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
在一个实施例中,获取触发的代码扫描指令之前,计算机程序被处理器执行时还实现以下步骤:展示代码提交页面;检测代码提交页面中的提交按钮是否发生点击操作;当检测到代码提交页面中的提交按钮发生点击操作时,获取代码提交页面录入的代码;将获取到的代码存储在待扫描代码库中。
在一个实施例中,响应于代码扫描指令,获取待扫描代码包括:获取代码扫描指令中的待扫描代码标识;在待扫描代码库中查询与提取到的待扫描代码标识对应的待扫描代码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:提取缺陷信息数据库中录入的代码缺陷信息;将提取到的代码缺陷信息存储到扫描信息库;对扫描信息库中的代码缺陷信息进行去重处理。
在一个实施例中,根据待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告包括:从扫描信息库中的代码缺陷信息,提取与待扫描代码中的缺陷类型对应的代码缺陷修复信息;根据代码缺陷修复信息对待扫描代码中的代码缺陷对应的代码进行修复,并记录代码修复信息;根据待扫描代码中的缺陷类型、查询到的问题原因信息和代码修复信息生成代码缺陷报告。
在一个实施例中,按照代码扫描方式对待扫描代码进行扫描,得到代码缺陷报告之后,计算机程序被处理器执行时还实现以下步骤:提取代码缺陷报告中的代码修复失败信息;根据代码修复失败信息确定修复失败位置;确定修复失败位置对应的开发者信息;根据开发者信息和代码修复失败信息生成代码异常通知;将代码异常通知发送至开发者终端。
本实施例中,在获取待扫描代码后,从扫描信息库中的代码缺陷信息,读取缺陷类型;其中,扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的。按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型,提高了代码扫描缺陷的准确性。从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告,提高了代码缺陷报告的内容更加完整,提高了代码扫描效率。。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种代码缺陷扫描方法,所述方法包括:
获取代码扫描指令;
响应于所述代码扫描指令,获取待扫描代码;
从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;
按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;
从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;
根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
2.根据权利要求1所述的方法,其特征在于,所述获取代码扫描指令之前,还包括:
展示代码提交页面;
检测所述代码提交页面中的提交按钮是否发生点击操作;
当检测到所述代码提交页面中的提交按钮发生点击操作时,获取所述代码提交页面录入的代码;
将获取到的代码存储在所述待扫描代码库中。
3.根据权利要求1所述的方法,其特征在于,所述响应于所述代码扫描指令,获取待扫描代码包括:
获取所述代码扫描指令中的待扫描代码标识;
在待扫描代码库中查询与提取到的待扫描代码标识对应的待扫描代码。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
提取缺陷信息数据库中录入的代码缺陷信息;
将提取到的代码缺陷信息存储到扫描信息库;
对所述扫描信息库中的代码缺陷信息进行去重处理。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告包括:
从所述扫描信息库中的代码缺陷信息,提取与所述待扫描代码中的缺陷类型对应的代码缺陷修复信息;
根据所述代码缺陷修复信息对所述待扫描代码中的代码缺陷对应的代码进行修复,并记录代码修复信息;
根据所述待扫描代码中的缺陷类型、查询到的问题原因信息和所述代码修复信息生成代码缺陷报告。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述待扫描代码中的缺陷类型和查询到的问题原因信息之后,还包括:
提取代码缺陷报告中的代码修复失败信息;
根据所述代码修复失败信息确定修复失败位置;
确定所述修复失败位置对应的开发者信息;
根据所述开发者信息和所述代码修复失败信息生成代码异常通知;
将所述代码异常通知发送至开发者终端。
7.一种代码缺陷扫描装置,其特征在于,所述装置包括:
指令获取模块,用于获取代码扫描指令;
代码获取模块,用于响应于所述代码扫描指令,获取待扫描代码;
缺陷类型读取模块,用于从扫描信息库中的代码缺陷信息,读取缺陷类型;所述扫描信息库中的代码缺陷信息为从所述缺陷信息数据库同步得到的;
代码扫描模块,用于按照读取到缺陷类型对待扫描代码进行扫描,得到所述待扫描代码中的缺陷类型;
缺陷原因查询模块,用于从所述扫描信息库中的代码缺陷信息,查询与所述待扫描代码中的缺陷类型对应的问题原因信息;
报告生成模块,用于根据所述待扫描代码中的缺陷类型和查询到的问题原因信息,生成代码缺陷报告。
8.根据权利要求7所述的装置,其特征在于,所述代码缺陷扫描装置还包括:
页面展示模块,用于展示代码提交页面;
按钮检测模块,用于检测所述代码提交页面中的提交按钮是否发生点击操作;
页面内容获取模块,用于当检测到所述代码提交页面中的提交按钮发生点击操作时,获取所述代码提交页面录入的代码;
代码存储模块,用于将获取到的代码存储在所述待扫描代码库中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910184257.XA CN110018958A (zh) | 2019-03-12 | 2019-03-12 | 代码缺陷扫描方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910184257.XA CN110018958A (zh) | 2019-03-12 | 2019-03-12 | 代码缺陷扫描方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110018958A true CN110018958A (zh) | 2019-07-16 |
Family
ID=67189489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910184257.XA Pending CN110018958A (zh) | 2019-03-12 | 2019-03-12 | 代码缺陷扫描方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110018958A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124841A (zh) * | 2019-12-09 | 2020-05-08 | 广州品唯软件有限公司 | 一种异常页面的报警方法、装置及计算机系统 |
CN111414302A (zh) * | 2020-02-28 | 2020-07-14 | 天津车之家数据信息技术有限公司 | 用于持续集成过程中的静态代码质量分析方法及计算设备 |
-
2019
- 2019-03-12 CN CN201910184257.XA patent/CN110018958A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124841A (zh) * | 2019-12-09 | 2020-05-08 | 广州品唯软件有限公司 | 一种异常页面的报警方法、装置及计算机系统 |
CN111124841B (zh) * | 2019-12-09 | 2023-08-18 | 广州品唯软件有限公司 | 一种异常页面的报警方法、装置及计算机系统 |
CN111414302A (zh) * | 2020-02-28 | 2020-07-14 | 天津车之家数据信息技术有限公司 | 用于持续集成过程中的静态代码质量分析方法及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008118B (zh) | 页面数据测试方法、装置、计算机设备和存储介质 | |
CN108595597A (zh) | 数据导入方法、装置、计算机设备和存储介质 | |
CN110008117A (zh) | 页面测试方法、装置、计算机设备和存储介质 | |
CN110209652A (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN110018958A (zh) | 代码缺陷扫描方法、装置、计算机设备和存储介质 | |
CN108509109A (zh) | 票据信息录入方法、装置、计算机设备和存储介质 | |
CN110245505A (zh) | 数据表访问方法、装置、计算机设备和存储介质 | |
CN114092951A (zh) | 结合rpa及ai的财务票据处理方法、装置、系统、设备及介质 | |
CN110162453A (zh) | 测试方法、装置、计算机可读存储介质和计算机设备 | |
CN108681759A (zh) | 板件加工、二维码图像生成方法、装置、设备和存储介质 | |
CN110231937A (zh) | 脚本缺陷扫描方法、装置、计算机设备和存储介质 | |
CN110321284A (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
CN110245125A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN112559355A (zh) | 测试用例的生成方法、装置、电子设备及存储介质 | |
CN110674145B (zh) | 数据一致性的检测方法、装置、计算机设备和存储介质 | |
CN108346061A (zh) | 企业认证方法、装置、计算机设备和存储介质 | |
CN116880782A (zh) | 一种内嵌式存储器及其测试方法 | |
CN109885484A (zh) | 应用页面测试方法、装置、计算机设备和存储介质 | |
CN109976683A (zh) | 数据的打印方法、装置、设备和存储介质 | |
CN112003901B (zh) | 分绞机工艺信息导入方法、装置、计算机设备和存储介质 | |
CN111459796B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN109491885A (zh) | 测试问题定位方法、装置、计算机设备和存储介质 | |
CN115952079A (zh) | 一种移动应用自动化行为记录及分析定位缺陷方法及系统 | |
CN102479116A (zh) | 一种查看系统异常时代码信息的方法及装置 | |
CN115373885A (zh) | 一种故障修复方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |