一种源码扫描工具、方法、设备及介质技术

技术编号:26504529 阅读:28 留言:0更新日期:2020-11-27 15:32
本申请公开了一种源码扫描工具、方法、设备及介质,该工具包括:分析模块,用于对程序源码进行分析,以生成第三方组件对应的问题词典;其中,所述问题词典中的问题为所述分析模块无法识别的所述第三方组件对应的语法;第三方组件解析引擎,用于查找所述问题词典中所述问题对应的所述程序源码引用的所述第三方组件的功能片段,然后将所述功能片段以及所述问题对应的所述程序源码中的上下文作为目标程序段保存至目标文件,并将所述目标文件的指针回调给所述分析模块,以便所述分析模块通过所述指针分析所述目标程序段,得到对应的分析结果。这样,能够降低源码问题的漏报率以及提升源码问题报告的准确率。

【技术实现步骤摘要】
一种源码扫描工具、方法、设备及介质
本申请涉及程序测试
,特别涉及一种源码扫描工具、方法、设备及介质。
技术介绍
目前,在软件工程的开发测试阶段,为了提高代码质量,通常引入源码扫描工具来扫描项目源码,通常情况下,源码扫描工具能够报告项目源码中存在的问题。但是当源码中引入第三方框架时,源码扫描工具通常不扫描解析三方框架,因此源码扫描工具不了解三方框架的语法,故在分析源码时,遇到三方框架语法,存在一定的误判与漏判。
技术实现思路
有鉴于此,本申请的目的在于提供一种源码扫描工具、方法、设备及介质,能够降低源码问题的漏报率以及提升源码问题报告的准确率。其具体方案如下:第一方面,本申请公开了一种源码扫描工具,包括:分析模块,用于对程序源码进行分析,以生成第三方组件对应的问题词典;其中,所述问题词典中的问题为所述分析模块无法识别的所述第三方组件对应的语法;第三方组件解析引擎,用于查找所述问题词典中所述问题对应的所述程序源码引用的所述第三方组件的功能片段,然后将所述功能片段以及所述问题对应的所述程序源码中的上本文档来自技高网...

【技术保护点】
1.一种源码扫描工具,其特征在于,包括:/n分析模块,用于对程序源码进行分析,以生成第三方组件对应的问题词典;其中,所述问题词典中的问题为所述分析模块无法识别的所述第三方组件对应的语法;/n第三方组件解析引擎,用于查找所述问题词典中所述问题对应的所述程序源码引用的所述第三方组件的功能片段,然后将所述功能片段以及所述问题对应的所述程序源码中的上下文作为目标程序段保存至目标文件,并将所述目标文件的指针回调给所述分析模块,以便所述分析模块通过所述指针分析所述目标程序段,得到对应的分析结果。/n

【技术特征摘要】
1.一种源码扫描工具,其特征在于,包括:
分析模块,用于对程序源码进行分析,以生成第三方组件对应的问题词典;其中,所述问题词典中的问题为所述分析模块无法识别的所述第三方组件对应的语法;
第三方组件解析引擎,用于查找所述问题词典中所述问题对应的所述程序源码引用的所述第三方组件的功能片段,然后将所述功能片段以及所述问题对应的所述程序源码中的上下文作为目标程序段保存至目标文件,并将所述目标文件的指针回调给所述分析模块,以便所述分析模块通过所述指针分析所述目标程序段,得到对应的分析结果。


2.根据权利要求1所述的源码扫描工具,其特征在于,
所述第三方组件解析引擎,还用于将所述问题以及所述问题对应的所述指针添加至解疑索引表。


3.根据权利要求2所述的源码扫描工具,其特征在于,
所述第三方组件解析引擎,还用于在查找所述问题词典中所述问题对应的所述程序源码引用的所述第三方组件的功能片段之前,在所述解疑索引表中查找是否存在所述问题对应的目标指针,若存在,则将所述目标指针回调给所述分析模块,否则,启动所述查找所述问题词典中所述问题对应的所述程序源码引用的所述第三方组件的功能片段的步骤。


4.根据权利要求1所述的源码扫描工具,其特征在于,
所述分析模块,还用于在得到所述分析结果之后,将对应的所述问题从所述问题词典中删除。


5.根据权利要求1所述的源码扫描工具,其特征在于,
所述分析模块,具体用于对所述程序源码进行分析,以生成所述第三方组件对应的所述问题词典;其中,所述问题词典包括任一...

【专利技术属性】
技术研发人员:王凤丽
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1