一种代码扫描工具的评估方法及装置制造方法及图纸

技术编号:17912200 阅读:27 留言:0更新日期:2018-05-10 18:09
本发明专利技术公开一种代码扫描工具的评估方法及装置,所述方法包括:利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息。将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到第一对比结果,所述预期扫描结果中包括所述基础样本库中各个检查项分别对应的检查代码的正确报错信息。根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果。本发明专利技术提供的代码扫描工具的评估方法能够对代码扫描工具进行准确评估,真实的反映各个代码扫描工具的扫描能力。

【技术实现步骤摘要】
一种代码扫描工具的评估方法及装置
本专利技术涉及数据处理领域,具体涉及一种代码扫描工具的评估方法及装置。
技术介绍
在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的工具称为代码扫描工具,如目前比较常用的产品resharper,gendarme,coverity等。由于不同的代码扫描工具扫描能力不同,如何对各种代码扫描工具进行有效评估,为用户选择代码扫描工具提供参考是目前需要解决的问题。目前并没有一个相对成熟的对各种代码扫描工具进行评估的实现体系,用户在选择代码扫描工具对程序代码进行扫描时,需要分别利用各种代码扫描工具对该程序代码进行扫描,通过人工比对扫描结果确定哪个代码扫描工具的扫描能力更强。所以,目前亟需一种代码扫描工具的评估方法,能够对各种代码扫描工具进行准确评估,真实反映各个代码扫描工具的扫描能力,为用户选择代码扫描工具提供有效依据。
技术实现思路
本专利技术提供了一种代码扫描工具的评估方法及装置,能够对代码扫描工具进行准确评估,真实反映各个代码扫描工具的扫描能力。本专利技术提供的一种代码扫描工具的评估方法,所述方法包括:利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息;将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到第一对比结果,所述预期扫描结果中包括所述基础样本库中各个检查项分别对应的检查代码的正确报错信息;根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果。优选地,所述预期扫描结果中还包括所述基础样本库中各个检查项分别对应的检查代码的错误报错信息。优选地,所述将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到对比结果之前,还包括:预先解析所述基础样本库中各个检查项分别对应的检查代码中的标记,生成所述基础样本库的预期扫描结果,其中,所述检查代码中的标记为通过宏或者注释进行标记得到。优选地,所述方法还包括:利用所述待评估的代码扫描工具对预先建立的项目样本库中的项目代码进行扫描,得到项目扫描结果,其中,所述项目扫描结果包括项目代码的报错信息;将所述项目扫描结果与所述项目样本库的预期项目扫描结果进行交叉对比,得到第二对比结果,所述预期项目扫描结果中包括所述项目样本库中项目代码的正确报错信息;相应的,所述根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果,具体为:结合所述第一对比结果和所述第二对比结果,生成所述待评估的代码扫描工具的评估结果。优选地,所述预期项目扫描结果中还包括所述项目样本库中项目代码的错误报错信息。优选地,所述方法还包括:将所述待评估的代码扫描工具的评估结果与所述待评估的代码扫描工具的标识建立对应关系,所述标识包括版本号或代码扫描工具名称;依据代码扫描工具的标识,对不同标识对应的代码扫描工具的评估结果进行比较,得到不同标识对应的代码扫描工具之间的比较结果。本专利技术还提供了一种代码扫描工具的评估装置,所述装置包括:第一扫描模块,用于利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息;第一对比模块,用于将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到第一对比结果,所述预期扫描结果中包括所述基础样本库中各个检查项分别对应的检查代码的正确报错信息;第一生成模块,用于根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果。优选地,所述第一对比模块中的所述预期扫描结果中还包括所述基础样本库中各个检查项分别对应的检查代码的错误报错信息。优选地,所述装置,还包括:第二生成模块,用于预先解析所述基础样本库中各个检查项分别对应的检查代码中的标记,生成所述基础样本库的预期扫描结果,其中,所述检查代码中的标记为通过宏或者注释进行标记得到。优选地,所述装置还包括:第二扫描模块,用于利用所述待评估的代码扫描工具对预先建立的项目样本库中的项目代码进行扫描,得到项目扫描结果,其中,所述项目扫描结果包括项目代码的报错信息;第二对比模块,用于将所述项目扫描结果与所述项目样本库的预期项目扫描结果进行交叉对比,得到第二对比结果,所述预期项目扫描结果中包括所述项目样本库中项目代码的正确报错信息;相应的,所述第一生成模块,具体用于结合所述第一对比结果和所述第二对比结果,生成所述待评估的代码扫描工具的评估结果。优选地,所述第二对比模块中的所述预期项目扫描结果中还包括所述项目样本库中项目代码的错误报错信息。优选地,所述装置还包括:建立模块,用于将所述待评估的代码扫描工具的评估结果与所述待评估的代码扫描工具的标识建立对应关系,所述标识包括版本号或代码扫描工具名称;比较模块,用于依据代码扫描工具的标识,对不同标识对应的代码扫描工具的评估结果进行比较,得到不同标识对应的代码扫描工具之间的比较结果。本专利技术提供了一种代码扫描工具的评估方法,首先,利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息。其次,将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到第一对比结果,所述预期扫描结果中包括所述基础样本库中各个检查项分别对应的检查代码的正确报错信息。最后,根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果。本专利技术提供的代码扫描工具的评估方法能够对代码扫描工具进行准确评估,真实的反映各个代码扫描工具的扫描能力。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种代码扫描工具的评估方法流程图;图2为本专利技术提供的另一种代码扫描工具的评估方法流程图;图3为本专利技术提供的一种代码扫描工具的评估装置结构示意图;图4为本专利技术提供的另一种代码扫描工具的评估装置结构示意图;图5为本专利技术提供的一种计算机的部分结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。参考图1,为本专利技术实施例提供的一种代码扫描工具的评估方法流程图,所述方法具体可以包括:S101:利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息。本专利技术实施例中,预先建立基础样本库,其中所述基础样本库中包括若干检查项,如空指针错误检查项、未初始化错误检查项、数组访问越界检查项、除零检查项等等,各个检查项用于检查出对应的错误类型,如空指针错误检查项用于检查出本文档来自技高网...
一种代码扫描工具的评估方法及装置

【技术保护点】
一种代码扫描工具的评估方法,其特征在于,所述方法包括:利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息;将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到第一对比结果,所述预期扫描结果中包括所述基础样本库中各个检查项分别对应的检查代码的正确报错信息;根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果。

【技术特征摘要】
1.一种代码扫描工具的评估方法,其特征在于,所述方法包括:利用待评估的代码扫描工具对预先建立的基础样本库中各个检查项分别对应的检查代码进行扫描,得到扫描结果,其中,所述扫描结果包括各个检查项分别对应的检查代码的报错信息;将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到第一对比结果,所述预期扫描结果中包括所述基础样本库中各个检查项分别对应的检查代码的正确报错信息;根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果。2.根据权利要求1所述的代码扫描工具的评估方法,其特征在于,所述预期扫描结果中还包括所述基础样本库中各个检查项分别对应的检查代码的错误报错信息。3.根据权利要求1或2所述的代码扫描工具的评估方法,其特征在于,所述将所述扫描结果与所述基础样本库的预期扫描结果进行交叉对比,得到对比结果之前,还包括:预先解析所述基础样本库中各个检查项分别对应的检查代码中的标记,生成所述基础样本库的预期扫描结果,其中,所述检查代码中的标记为通过宏或者注释进行标记得到。4.根据权利要求1所述的代码扫描工具的评估方法,其特征在于,所述方法还包括:利用所述待评估的代码扫描工具对预先建立的项目样本库中的项目代码进行扫描,得到项目扫描结果,其中,所述项目扫描结果包括项目代码的报错信息;将所述项目扫描结果与所述项目样本库的预期项目扫描结果进行交叉对比,得到第二对比结果,所述预期项目扫描结果中包括所述项目样本库中项目代码的正确报错信息;相应的,所述根据所述第一对比结果,生成所述待评估的代码扫描工具的评估结果,具体为:结合所述第一对比结果和所述第二对比结果,生成所述待评估的代码扫描工具的评估结果。5.根据权利要求4所述的代码扫描工具的评估方法,其特征在于,所述预期项目扫描结果中还包括所述项目样本库中项目代码的错误报错信息。6.根据权利要求1所述的代码扫描工具的评估方法,其特征在于,所述方法还包括:将所述待评估的代码扫描工具的评估结果与所述待评估的代码扫描工具的标识建立对应关系,所述标识包括版本号或代码扫描工具名称;依据代码扫描工具的标识,对不同标识对应的代码扫描工具的评估结果进行比较,得到不同标识对应的代码扫描工具之间的比较结果。7.一种代码扫描工具的评估装置,...

【专利技术属性】
技术研发人员:邹越魏学峰严明张蓓袁明凯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1