- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章数据流分析(补充.ppt
中国科大 第2章 数据流分析 内容概述 数据流分析推导的是数据沿着程序执行路径流动的信息 过程内的分析:可用表达式分析、到达-定值分析等 过程间分析 Shape分析 理论基础 数据流方程的求解 第2章 数据流分析 数据流分析的用途 编译优化、程序维护 程序安全性的检查 和编译原理课程的区别 基于源代码的结构化分析方法,而不是基于基本块和程序流图的分析 从过程内讨论到过程间 强调理论基础 第2章 数据流分析 数据流分析的正确性 数据流分析所得结论同程序运行时的情况一致 需要定义机器模型和操作语义,证明所得结论对操作语义可靠 由于数据流分析收集的信息同基本块和控制流有关,通常和变量值无关,因此不同于一般的可靠性证明,例如Hoare逻辑的赋值公理是可靠的 {x = 1} x := x + 1 {x = 2} 活跃变量分析 活跃变量分析的正确性 需要将该正确性概念形式地表达出来 在活跃变量的初值相同的不同格局下?S, ?1? 和?S, ?2?执行程序S的结果应该是一样的 再细化一下,程序每执行一步,得到的不同格局?S?, ?1? ? 和?S?, ?2? ?中,活跃变量的值都相同 第2章 数据流分析 数据流分析的基础 把各种数据流模式作为一个整体来抽象地研究,然后可以形式地回答数据流算法的下列几个基本问题: 在什么情况下数据流分析中使用的迭代算法是正确的? 该迭代算法所得解的精度如何? 该迭代算法是否收敛? 数据流方程的解的含义是什么? 第2章 数据流分析 为一类数据流模式建一个共同理论框架 总结已讨论过的四种数据流分析模式 整理出该框架的一些基本特征或原则 规范框架中的性质空间要满足的特征 规范框架中迁移函数要满足的性质 给出框架的定义 区分单调框架和分配框架的区别 常量传播数据流模式不是分配的 第2章 数据流分析 位向量框架(Bit vector framework) Single-bit representation of each data flow property Separability of solution ? Data flow properties can be evaluated independently ? Merge operation is a bitwise AND or OR operation Monotonic bit function ? A bit function cannot negate any bit 第2章 数据流分析 分配性蕴涵单调性的证明 l1 ? l2 并且f(l1 ? l2) = f(l1) ? f(l2) 蕴涵 f(l1) ? f(l2) 证明 因为 f(l2) = f(l1 ? l2) = f(l1) ? f(l2) 所以 f(l1) ? f(l2) 第2章 数据流分析 常量传播框架的非分配性 第2章 数据流分析 整数格 ?表示没有任何信息可用 ?表示可能不是常量 第2章 数据流分析 用集合之间的包含关系来定义部分函数之间的偏序 第2章 数据流分析 数据流方程的求解 IDEAL,基于程序所有可能执行路径的解,它少于或等于流图上的执行路径 Meet Over all Paths(MOP),不仅汇集了所有可能路径的数据流值,而且还包括了那些不可能被执行路径的数据流值 Maximum Fixed Point(MFP),由迭代算法得到的解 迭代算法得到的MFP解总是安全的 MFP ? MOP ? IDEAL 第2章 数据流分析 MOP和MFP的比较 由MOP的定义,有 MOPo[B4] = ((fB3?fB1) ? (fB3?fB2)) (vENTRY) 在迭代算法(MFP)中, 如果按B1,B2,B3和B4的次序 访问结点,那么 MFPo[B4] = fB3(fB1(vENTRY) ? fB2(vENTRY)) 第2章 数据流分析 敏感性分析 路径敏感分析 根据条件分支语句中的谓词来计算不同路径上的信息,它能够区分控制流图上不同路径的信息 路径不敏感分析 先前讨论的都是路径不敏感分析 流不敏感分析 语句的执行次序对分析来说无关紧要,S1; S2和S2; S1的分析结果肯定一样 流敏感分析 先前讨论的都是流敏感分析 第2章 数据流分析 敏感性分析 上下文不敏感分析 组合所有调用点的状态信息,对过程体仅分析一次,返回状态集合的信息用于所有的返回点 上下文敏感分析 区分带不同上下文信息的不同调用 第2章 数据流分析 过程间分析的关注点 上下文敏感分析 要注意调用和返回的匹配,注意上下文信息的传递 参数传递的方式 仅考虑传值和传结果方式 其
您可能关注的文档
- 现代电源技术-世纪电源网.ppt
- 玻璃直线磨边机-广东省标准化研究院.doc
- 玻璃纤维增强环氧基自修复复合材料的制备及表征-中山大学化学与化学.doc
- 生产与运作管理 第10章-最優生產技術opt.ppt
- 生物医学电子仪器.doc
- 生物学性状扫描电镜下的霍乱弧菌.ppt
- 用WORD绘制物理练习题的插图-GoogleSites.doc
- 用户上机申请表-中国科学院昆明动物研究所网站首页.doc
- 用户体验量化.doc
- 用绘本教数学-MathSeed数学领域课程与教学辅导网.doc
- GB/T 12959-2024水泥水化热测定方法.pdf
- GB/T 43856-2024印刷技术 印刷工作流程的颜色一致性.pdf
- 中国国家标准 GB/T 43856-2024印刷技术 印刷工作流程的颜色一致性.pdf
- 《GB/T 43856-2024印刷技术 印刷工作流程的颜色一致性》.pdf
- 中国国家标准 GB/Z 42151.77-2024电力自动化通信网络和系统 第7-7部分:用于工具的IEC 61850相关数据模型机器可处理格式.pdf
- 中国国家标准 GB/T 43930-2024宇航用电磁继电器通用规范.pdf
- 《GB/T 43930-2024宇航用电磁继电器通用规范》.pdf
- 中国国家标准 GB/T 32151.7-2023碳排放核算与报告要求 第7部分:平板玻璃生产企业.pdf
- 《GB/T 32151.7-2023碳排放核算与报告要求 第7部分:平板玻璃生产企业》.pdf
- GB/T 32151.8-2023碳排放核算与报告要求 第8部分:水泥生产企业.pdf
文档评论(0)