[发明专利]嵌入式系统动态存储错误静态检测的实现方法无效
申请号: | 200610052227.6 | 申请日: | 2006-06-30 |
公开(公告)号: | CN1905076A | 公开(公告)日: | 2007-01-31 |
发明(设计)人: | 陈天洲;谢斌;赵懿;王祥生 | 申请(专利权)人: | 浙江大学 |
主分类号: | G11C29/12 | 分类号: | G11C29/12;G06F11/36 |
代理公司: | 杭州中成专利事务所有限公司 | 代理人: | 唐银益 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及嵌入式系统动态存储度技术领域,旨在提供一种嵌入式系统动态存储错误静态检测的实现方法。该方法包括使用指针树对控制流信息进行记录和使用指针树对过程内动态存储错误进行检测。本发明具有精确性和可靠性。通过定义指针树,能够精确的判断出在程序编译过程中,是否出现了内存的泄漏等问题,如果出现了,能够通过语法树进行精确的定位。通过指针树对程序编译过程进行分析,覆盖了程序编译的整个过程,能够可靠全面的进行动态存储的检测。 | ||
搜索关键词: | 嵌入式 系统 动态 存储 错误 静态 检测 实现 方法 | ||
【主权项】:
1、一种嵌入式系统动态存储错误静态检测的实现方法,其特征在于,包括以下步骤:(1)使用指针树对控制流信息进行记录;所述的指针树是一棵记录程序动态使用存储空间状况的多叉树,由两种节点构成:入口结点和存储节点;入口节点是指针树的根结点,是访问存储节点的入口;存储节点是指针树的叶子结点,每一个存储节点与程序动态分配的一块存储空间对应;(2)使用指针树对过程内动态存储错误进行检测:①当某个过程语法分析开始时,构造此过程对应指针树的入口节点E和临时存储节点T;②在语法分析过程中,使用临时存储节点记录节点T当前控制流位置;③当语法分析识别出一个存储分配语句,为分配语句中的地址指针PI新建相应的存储节点S,将节点T的控制流位置拷贝给节点S,并记录地址指针PI是否指向数组空间,并判断是否存在内存泄漏,如果有对此给出警告;④当分析过程识别出存储释放语句,将其分解,根据分解结果在指针树上查找对应节点N,如果和地址指针PI中有且仅有一个与数组空间对应,对此给出警告;比较节点N和节点T记录的控制流位置,如果找不到节点N或者由于判断值返回为真而无法删除该节点,说明该释放操作失败,对此给出警告;⑤该过程语法分析结束后,对其指针树进行分析;每个不连通的存储节点代表失去索引的存储空间,其他存储节点代表在过程内未被释放的动态存储空间,对这些存储节点给出警告。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610052227.6/,转载请声明来源钻瓜专利网。
- 上一篇:六溴环十二烷生产工艺
- 下一篇:一种鉴别螺旋藻品系生产性状优劣的方法