[发明专利]程序设计中内存操作错误的识别方法无效

专利信息
申请号: 98104528.6 申请日: 1998-02-06
公开(公告)号: CN1129070C 公开(公告)日: 2003-11-26
发明(设计)人: 陈青;刘运渠;肖华熙;龙晶 申请(专利权)人: 华为技术有限公司
主分类号: G06F11/00 分类号: G06F11/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 518057 广东省深圳市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种识别程序设计中内存操作错误的方法,对源程序的插装是基于包含有指针句柄表和颜色表的插装库进行的,对语句中包含有动态内存、变量和字符串常量的内存块时,插入登记内存块的语句;对指针赋值语句,插入登记指针并建立与内存块间关系的语句;对数组和表达式语句,插入对数组及表达式进行检查的语句。利用该方法可有效地检测出内存操作有关的编程错误,提高测试效率和程序质量,降低测试方面的费用开销。
搜索关键词: 程序设计 内存 操作 错误 识别 方法
【主权项】:
1.一种识别程序设计中的内存操作错误的方法,包括以下步骤:对源程序进行插装,编译并运行插装后的程序,从运行产生的错误日志取得出错信息,其特征在于,包括:A、在插装库中定义指针句柄表和颜色表,所述指针句柄表为每个指针项记录其指针标示和内存块句柄,所述颜色表为每一个内存块项记录内存块标示、属性和指向它的指针句柄;B、对源程序进行插装,包括:打开源程序,判定文件是否结束,如是结束插装流程,否则从源程序中读语句到缓冲区,对语句进行判断,并依判断结果插入不同的语句:当语句中包含有动态内存、变量和字符串常量的内存块时,插入登记内存块的语句;当语句中出现指针赋值语句时,插入登记指针并建立与内存块间关系的语句;当语句中出现有数组和表达式语句时,插入对数组及表达式进行检查的语句;C、运行插装后的被测程序,依插装库中定义的指针句柄表和颜色表检测出内存操作错误或指针操作错误,包括:当插装库收到对数组表达式的检查请求,进行数组地址及数组表达式地址赋值,以数组地址为关键字在颜色表中查找内存块项,如没有找到则记录错误信息;否则,依内存块属性判断数组表达式地址是否越界,如越界则记录错误信息,否则结束对该数组的检查;当插装库收到对指针表达式的检查请求,对指针地址及指针表达式地址赋值,以指针地址为关键字在指针句柄表中查找对应指针项,如没有找到则记录错误信息;否则,以找到的对应指针项作为内存块句柄,查找颜色表中对应的内存块项,如未找到内存块项,则记录错误信息,否则,依内存块属性判断指针表达式是否越界,如越界则记录错误信息,如未越界结束对该数组的检查。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/98104528.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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