[发明专利]一种污染变量跟踪方法有效
申请号: | 201110407515.X | 申请日: | 2011-12-08 |
公开(公告)号: | CN102567183A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 王瑀屏;胡事民;马超;阎栋 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种污染变量跟踪方法,涉及设备驱动领域。所述方法包括:找到第一污染变量,存入结果图中,将其所在的函数存入待处理函数队列;取出一个待处理函数,判断其中是否存在新的第二污染变量,如果是,将新的第二污染变量和相应的赋值关系存入结果图,并将待处理函数放回,执行步骤D;否则,直接执行步骤D;判断是否存在新的第三污染变量,如果是,将新的第三污染变量和相应的赋值关系存入结果图中,并将相应的函数放入待处理函数队列中,执行步骤E;否则,直接执行步骤E;判断待处理函数队列是否为空,如果是,输出结果图;否则,执行步骤C。所述方法可以提高设备驱动和硬件设备的可靠性。 | ||
搜索关键词: | 一种 污染 变量 跟踪 方法 | ||
【主权项】:
一种污染变量跟踪方法,其特征在于,包括步骤:A:将直接读取目标设备寄存器数据的函数作为污染函数存储到污染函数库中,根据目标设备驱动源代码建立变量赋值关系图、函数调用关系图和函数被调用关系图,创建用于存放污染变量及相应赋值关系的结果图和用于存放待处理函数的待处理函数队列;B:根据所述污染函数库,找到直接被所述污染函数赋值的第一污染变量,将所述第一污染变量存入所述结果图中,将所述第一污染变量所在的函数存入所述待处理函数队列;C:从所述待处理函数队列中取出一个待处理函数,根据所述结果图中已有的污染变量和所述变量赋值关系图,判断所述待处理函数中是否存在新的第二污染变量,如果存在,将所述新的第二污染变量和相应的赋值关系存入所述结果图中,并将所述待处理函数重新放回所述待处理函数队列,然后执行步骤D;否则,直接执行步骤D;D:根据所述结果图中已有的污染变量、所述函数调用关系图和函数被调用关系图,判断是否存在由于函数调用或者被调用而产生的新的第三污染变量,如果存在,将所述新的第三污染变量和相应的赋值关系存入所述结果图中,并将发现所述新的第三污染变量的函数放入所述待处理函数队列中,然后执行步骤E;否则,直接执行步骤E;E:判断所述待处理函数队列是否为空队列,如果是,输出所述结果图;否则,执行所述步骤C。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110407515.X/,转载请声明来源钻瓜专利网。