- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六讲 一种信息流分析技术 程序分析技术 研究生课件
程序分析技术 第六讲: 一种信息流分析技术 一、处理的语言 S- skip |V:=e |If e then s else s |If e then s |s; s |While e do s 选择的原因:结果定理 e1 S1 S2 S3 S4 e2 二、基本方法 结构图 S3 S4 e1 S1 S2 e1 S1 基本定义 定义:设S为一个语句,若在S中有V:=e,一则称S定义了v。用Ds表示S定义的所有变量之集。 设S为一个语句,从G(S)入口到G(S)出口存在一条路,且在该路上无对变量x的赋值,则称S保护了x。用Ps表示S保护的所有变量之集。 定义:变量与表达式的关系 若变量v在G(S)入口处值,直接或间接参与了表达式e的计算,则说v和e具有关系,记为v?S e或者(v, e) ??S。 定义:表达式与变量的关系 若表达式e直接或间接参加变量v在G(S)出口处值的计算,则称e和v具有关系?,记为e?S v或者(e, v) ??S。 定义:变量与变量的关系 ?S = ?S?S ? {(v, v) | v?PS} 解释,v1?Sv2,v在G(S)的入口值参与v2在G(S2)出口值的计算。 v1?Sv2,v1在G(S)的入口值可? G(S)的出口 3.计算方法 空语句 S: skip; Ds = ?, ps= V ?s =?, ?s = ? ps = {(v, v) | v?ps} 赋值语句S: v := e; DS = {v}, PS= V- {v} ?S = {(v?, e) | v??V (e)}, ?S = {(e, v)} ?S = {(v?, v) | v??use (e)} ?{(v?, v?)| v?? PS} 顺序语句S: A;B DS= DA ? DB, PS= PA ? PB ?S = ?A ??A?B, ?S = ?A?B??B ?S = ?A?B 条件语句S:if e then A else B DS= DA ? DB, PS= PA ? PB ?S = {(v, e)| v ? use(e)} ? ?A ??B ?S = ?A??B? {(e, v)| v ?(DA ? DB)} ?S = ?A??B? {(v’, v)| v?? use(e),v?DA ? DB)} 简单条件语句s:if e then A else部分为skip可用上述规则计算。 循环语句S: while e do A DS= DA, PS= V ??S =?A* ({(v, e)| v ? use (e)}??A) ??S = ({(e, v)| v ? DA}??A)?A* ??S = 公式计算 三、应用 1.看某一输入变量对那些输出变量有影响 设v’?Vi,v”?Vo,若(v’,v” )? ?成立,则v’ 对v ”有影响。 影响集 {(v ’,v ”)v ”?Vo, (v ’,v ”) ??} 2.看那些输入变量对某些输出变量的影响 给定v’?v” , {v’| (v’,v ”) ?? v’?v” } 被影响集对v ” 有影响 3.无用的输入变量 若输入变量影响的输出变量集为空,则该输入变量对程序的运行结果无影响。 4.无效语句 v:=e, {(e, v)|v?Vo}=?,则该语句可用skip替换或含有错误。 5.对循环语句的分析 设有while e do A,定义一个G’(S),点集为DA,边集为?A 定义:稳定变量 在G’(S),中,如果任一环路上的变量都没有列该变量的路,则称该变量是关于S稳定的 例:while e do X:=y+1; Y:=z+1; Z:=k+1; K:=m+1. k x y z 若循环体为 x:=y+1; y:=z+1; z:=k+1; k:=m+1 定义:稳定变量的稳定长度 设v是关于S稳定的,终止于v的最长路径长度称为v的稳定长度,记为?(v)。 x y z k 例 while e do x:=y+z; y:=z+1; z:=k+1; ?(x)=2 定义:稳定表达式 设e是循环语句s中的一个表达式,若use(e)中的变量都是稳定的,则称e是稳定的。 x y z 定义:稳定表达式e的稳定长度 设e是关于s稳定的,其稳定长度用?(e)表示。定义如下: ?(e) =max({?(v) |v?use(e)})+1。 结论: 任意一个稳定变量,当循环的次数到达一个定值(稳定长度+1)时,其值不会改变。 任意一个稳定表达式,当循环的次数到达一个定值(稳定长度+1)
您可能关注的文档
- 第六章ATM交换技术 现代交换原理教学课件.ppt
- 第六章_仓储系统设计 生产设施与规划课件.ppt
- 第六章__物料搬运系统(MHS)设计2 设施规划与物流分析课件.ppt
- 第六章 企业营运能力分析 财务报表分析一上课讲义(word版).doc
- 第六章 关税会计 税务会计 教学课件.ppt
- 第六章 企业生产物流管理 企业物流管理 教学课件.ppt
- 第六章 编辑出版的壮大时期--宋辽金元 编辑出版史课件.ppt
- 第六章 钢笔楷书书法训练 学前教育书法教程课件.ppt
- 第六章-新媒体文书 应用写作课件.ppt
- 第六章 饮食营养与健康.ppt
- 第六节 维生素 营养学课件.ppt
- 第六讲 中央处理单元 DSP教学课件 教学课件 数字信号处理器DSP原理及应用.ppt
- 第六讲 公司治理与组织运行研究咨询 管理咨询课件.ppt
- 第六讲 劳动合同的无效.ppt
- 第六讲 像点位移和方向偏差 摄影测量基础 教学课件.ppt
- 第六讲 如何对待资本主义的发展怎样看待社会主义的曲折 科学社会主义课件.ppt
- 第六讲 劳动争议处理.ppt
- 第六讲 世界交往关系的大拓展 现代文明史课件.ppt
- 第六讲 弱腿及其鉴别诊断(Leg Weakness in Chicken and DD).ppt
- 第六讲 房地产项目开发的实务基础 —基础认识与实务要义 房地产企业经营管理 教学课件.ppt
文档评论(0)