[发明专利]一种检测方法及装置在审

专利信息
申请号: 201511027958.0 申请日: 2015-12-31
公开(公告)号: CN105677559A 公开(公告)日: 2016-06-15
发明(设计)人: 钟云德 申请(专利权)人: 杭州华为数字技术有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京同达信恒知识产权代理有限公司 11291 代理人: 冯艳莲
地址: 310052 浙江省杭州*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 检测 方法 装置
【说明书】:

发明公开了一种检测方法及装置,用以解决现有技术的代码检测工具无法识别一些复杂场景中的局部变量未初始化,降低了检测效率的问题,该方法包括:根据第一变量配置信息对一测试代码中的第一设定局部变量赋值,并基于所述测试代码中的第一设定局部变量的取值状态,对赋值后的第一设定局部变量进行覆盖,生成第一待编译代码,最终生成第一运行结果,同时,根据第二变量配置信息,对所述测试代码进行上述同样的处理,生成第二待编译代码,最终生成第二运行结果,在第一运行结果和第二运行结果不同时,确定所述测试代码中存在局部变量未初始化,这样,检测装置均可以准确判断程序代码是否存在局部变量未初始化的问题,提高了检测效率。

技术领域

本发明涉及计算机技术领域,尤其涉及一种检测方法及装置。

背景技术

在程序代码中,时常会出现程序代码中使用的局部变量未初始化的问题,这些问题可能会导致该程序代码无法运行,或者存在潜在的缺陷。为了避免这些问题,传统地,业界通常需要代码检测工具(例如PCLint、Coverity等)对程序代码进行分析检测。

然而,现有的代码检测工具无法识别一些复杂场景中的局部变量未初始化,例如,对于一些结构体等聚合数据类型的程序代码,一部分局部变量已经初始化,而另一部分局部变量未初始化的场景。这样,传统的代码检测工具无法检测出程序代码中所有未初始化的局部变量,降低了检测效率。

发明内容

本发明提供一种检测方法及装置,用以解决现有技术中的代码检测工具无法识别一些复杂场景中的局部变量未初始化,降低了检测效率的问题。

本发明提供的具体技术方案如下:

第一方面,提供了一种检测方法,包括:

根据针对一测试代码设置的第一变量配置信息,对所述测试代码中的至少一个第一设定局部变量进行赋值,生成第一初始化代码,所述第一变量配置信息中包含分别为每个第一设定局部变量配置的取值;

基于所述测试代码中的每个第一设定局部变量的取值状态,对所述第一初始化代码中的每个第一设定局部变量的取值进行覆盖,生成第一待编译代码;并基于所述第一待编译代码生成第一运行结果;

根据针对所述测试代码设置的第二变量配置信息,对所述测试代码中的至少一个第二设定局部变量进行赋值,生成第二初始化代码,所述第二变量配置信息中包含分别为每个第二设定局部变量配置的对应的取值;

基于所述测试代码中的所述第二设定局部变量的取值状态,对所述第二初始化代码中的所述第二设定局部变量的取值进行覆盖,生成第二待编译代码;并基于所述第二待编译代码生成第二运行结果;

当所述第一运行结果与所述第二运行结果不同时,确定所述测试代码中存在局部变量未初始化。

这样,无论在任何场景中(例如结构体等聚合数据类型的程序代码),检测装置均可以准确判断程序代码是否存在局部变量未初始化的问题,提高了检测效率,方便用户修改,避免了程序代码因存在未初始化的变量无法运行或运行结果错误的问题。

结合第一方面,在第一方面的第一种可能的实现方式中,根据所述第一变量配置信息,对所述测试代码中的至少一个第一设定局部变量进行赋值,包括:

确定在所述测试代码的栈中,所述测试代码中每个第一设定局部变量的栈区间;

根据所述第一变量配置信息中分别为每个第一设定局部变量配置的取值,对每个第一设定局部变量的栈区间进行填充。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,基于所述测试代码中的每个第一设定局部变量的取值状态,对所述第一初始化代码中的每个第一设定局部变量的取值进行覆盖,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华为数字技术有限公司,未经杭州华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201511027958.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top