【技术实现步骤摘要】
一种代码检测方法、装置、设备及存储介质
[0001]本专利技术涉及计算机
,特别涉及一种代码检测方法、装置、设备及存储介质。
技术介绍
[0002]随着信息技术的发展,软件在业务能力生成中发挥着越来越重要的作用。为确保软件产品质量可控,软件开发组织按照工程化的方法进行软件产品研制。其中,软件代码缺陷管理工作是软件工程中的重要内容,进行软件代码审查的主要目的是提高软件质量,及早发现软件缺陷,防止因代码缺陷而造成更大的损失。现有技术通过代码覆盖率工具对被测试代码进行覆盖率测试,在被测试代码执行异常时,根据代码覆盖率工具生成的代码覆盖信息,将被测试代码中被执行在异常时间点之前的一段时间内的代码获取为缺陷代码,测试人员不需要人工排查所有可能发生异常的代码,从而达到提高软件测试准确性和效率的效果。虽然现有技术解决了人工排查问题代码日志的工作,减缓了开发人员的部分工作量,但是需要开发人员对程序的ASTs(Abstract Syntax Trees,抽象语法树)树节点或汇编指令节点逐个进行迭代分析,仍存在耗时久、编译出错时无法准确定 ...
【技术保护点】
【技术特征摘要】
1.一种代码检测方法,其特征在于,包括:通过预设筛选方法从待分析代码中确定缺陷代码;利用预设工具提取所述缺陷代码的目标信息,并基于所述目标信息构建代码切片;按照预设规则划分所述代码切片,以得到对应的组成部分;对所述组成部分进行形式化抽象,以得到目标二进制信息;通过预设代码安全判定标准检测所述目标二进制信息,以得到对应的检测结果,并基于所述检测结果判断所述待分析代码是否合格。2.根据权利要求1所述的代码检测方法,其特征在于,所述通过预设筛选方法从待分析代码中确定缺陷代码,包括:将所述待分析代码转换为代码属性图;对所述代码属性图进行特征选择以及量化操作,以得到目标代码属性图;根据预设筛选规则筛选所述目标代码属性图,以得到所述缺陷代码。3.根据权利要求1所述的代码检测方法,其特征在于,所述利用预设工具提取所述缺陷代码的目标信息,并基于所述目标信息构建代码切片,包括:利用预设工具并基于语法分析以及词法分析,提取所述缺陷代码的抽象语法树以及数据流信息;基于所述抽象语法树以及所述数据流构建代码切片;或,基于SARD以及所述预设工具的代码生成所述代码切片。4.根据权利要求1所述的代码检测方法,其特征在于,所述按照预设规则划分所述代码切片,以得到对应的组成部分,包括:按照所述代码切片与程序语句之间的执行关系划分所述代码切片,以得到对应的组成部分。5.根据权利要求1至4任一项所述的代码检测方法,其特征在于,所述通过预设代码安全判定标准检测所述目标二进制信息之前,还包括:获取具有预设类型代码安全缺陷的源程序,并标记所述源程序中缺陷源代码包含的程序语句;将所述源程序编译为二进制程序;通过预设应用工具获取所述二进制程序的指令寄存器执行路径,以得到对应的特征元素集合;基于所述特征元素集合构建校验样本集合,并基于所述校验样本集合生成用于判断所述目标二进制信息是否存在缺陷的卷积神经...
【专利技术属性】
技术研发人员:肖孟孟,张浩,
申请(专利权)人:上海安恒智慧城市安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。