静态代码检查方法、装置、计算机设备及可读存储介质制造方法及图纸

技术编号:28622232 阅读:24 留言:0更新日期:2021-05-28 16:17
本公开提供了一种静态代码检查方法、装置、计算机设备及可读存储介质,属于代码检查领域。所述方法包括:根据获取到的第一版本代码和基于对第一版本代码的代码编辑操作得到的第二版本代码,确定差异代码,调用目标代码检查工具,对差异代码进行静态代码检查,输出检查结果。本公开通过仅对差异代码进行静态代码检查,可以有效确定差异代码存在的问题,避免早期代码带来的影响,由于无需对早期代码进行静态代码检查,而仅仅对于数据量大大降低的差异代码来进行检测,可以提高检查效率,及时发现问题。

【技术实现步骤摘要】
静态代码检查方法、装置、计算机设备及可读存储介质
本公开涉及代码检查领域,特别涉及一种静态代码检查方法、装置、计算机设备及可读存储介质。
技术介绍
随着计算机技术的不断发展,各种类型的软件层出不穷,在进行动态代码测试之前进行代码检查,有助于帮助开发人员快速、有效地定位代码缺陷,以便开发人员及时纠正这些问题。静态代码检查无需运行代码,通过词法分析、语义分析、控制流分析、数据流分析等技术即可以实现对程序代码的扫码,从而极大地提高软件可靠性,节省软件开发和测试成本。目前进行静态代码检查主要是通过根据编程语言选择不同的静态检查工具,如样式检查(CheckStyle)、代码扫描分析工具(Lint)等,对利用不同编程语言编写的项目的所有源代码进行检测,找出其中存在问题的代码。现在的项目源码数量庞大,一次静态检查耗时很容易就达到数十分钟甚至几个小时,检查效率低,而且早期项目为了快速迭代,存在大量不符合现有标准的“问题代码”,每次静态检查都会检查出早期代码中存在的大量问题,但是这些代码基本不会有新的改动,也不能改动,而新增代码检查出来的问题相比本文档来自技高网...

【技术保护点】
1.一种静态代码检查方法,其特征在于,所述方法包括:/n获取第一版本代码和第二版本代码,所述第二版本代码基于对所述第一版本代码的代码编辑操作得到;/n根据所述第一版本代码和所述第二版本代码,确定差异代码;/n调用目标代码检查工具,对所述差异代码进行静态代码检查,输出静态代码检查的检查结果。/n

【技术特征摘要】
1.一种静态代码检查方法,其特征在于,所述方法包括:
获取第一版本代码和第二版本代码,所述第二版本代码基于对所述第一版本代码的代码编辑操作得到;
根据所述第一版本代码和所述第二版本代码,确定差异代码;
调用目标代码检查工具,对所述差异代码进行静态代码检查,输出静态代码检查的检查结果。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一版本代码和所述第二版本代码,确定差异代码包括:
将所述第一版本代码与所述第二版本代码进行比较;
确定所述第二版本代码中相对于所述第一版本代码发生变动的代码,将所确定的代码作为所述差异代码。


3.根据权利要求2所述的方法,其特征在于,所述确定所述第二版本代码中相对于所述第一版本代码发生变动的代码包括:
对所述第一版本代码和所述第二版本代码进行语法解析,得到所述第一版本代码和所述第二版本代码的特征字符;
以所述第一版本代码的首个特征字符为起始点,对比所述第一版本代码与所述第二版本代码中各个特征字符,得到所述各个特征字符的相似度;
根据任一个特征字符的相似度,确定所述任一个特征字符对应的代码是否为所述差异代码。


4.根据权利要求3所述的方法,其特征在于,所述根据任一个特征字符的相似度,确定所述任一个特征字符对应的代码是否为所述差异代码包括:
当所述任一个特征字符的相似度低于目标相似度值且不为0时,确定所述任一个特征字符对应的代码为修改代码;
当所述任一个特征字符的相似度为0时,确定所述任一个特征字符对应的代码为新增代码。


5.根据权利要求1所述的方法,其特征在于,所述输出静态代码检查的检查结果包括:
根据所述检查结果,确定存在...

【专利技术属性】
技术研发人员:谢晓枫
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1