程序分析技术第五讲数据流分析技术应用.ppt

程序分析技术第五讲数据流分析技术应用.ppt

程序分析技术 第五讲: 数据流分析技术应用 一、检测数据流异常 数据流异常情况: 变量无定值而使用; 变量重复定值; 变量定值无使用。 检测方法(a) in_d[B]:表示在B入口处所有定值的变量之集; out_d[B]:表示B在出口处所有定值的变量之集; def_d[B]:表示B中所有定值的变量之集。 数据流方程(a) in_d[B*]={} B*为入口块 in_d[B] =∪(或∩)i=1,2…n(out_d[Bi]) Bi为B的前驱块 out_d[B]=def_d[B]∪in_d[B] 数据流方程(a) 结论: 若in_live[B]–in_d[B]≠{},则必有变量无定值而使用; 特例:若in_live[B*]≠{},则必有变量无定值而使用. 检测方法(b) in_dd[Bi]: 表示块B入口处所有定值而未使用的变 量之集; out_dd[Bi]:表示块B出口处所有定值而未使用的变量之集; def_dd1[Bi]={x|x在(B,di)点定值,且从(B,d1)…. (B,di)无x的使用性出现。} def_dd2[Bi]={x|x在(B,di)点定值,且从(B,di+1)到B出口,无x的使用性出现。} 数据流方程(b) in_dd[B*]={} B*为入口块 in_dd[B]=∪(或∩)out_dd[B] out_

文档评论(0)

1亿VIP精品文档

相关文档