第2章 数据流分析

第2章 数据流分析

ID:44113339

大小:240.00 KB

页数:15页

时间:2019-10-18

第2章 数据流分析_第1页
第2章 数据流分析_第2页
第2章 数据流分析_第3页
第2章 数据流分析_第4页
第2章 数据流分析_第5页
资源描述:

《第2章 数据流分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2章数据流分析内容概述数据流分析推导的是数据沿着程序执行路径流动的信息过程内的分析:可用表达式分析、到达-定值分析等过程间分析Shape分析理论基础数据流方程的求解第2章数据流分析数据流分析的用途编译优化、程序维护程序安全性的检查和编译原理课程的区别基于源代码的结构化分析方法,而不是基于基本块和程序流图的分析从过程内讨论到过程间强调理论基础第2章数据流分析数据流分析的基础把各种数据流模式作为一个整体来抽象地研究,然后可以形式地回答数据流算法的下列几个基本问题:在什么情况下数据流分析中使用的迭代算法是正确的?该

2、迭代算法所得解的精度如何?该迭代算法是否收敛?数据流方程的解的含义是什么?第2章数据流分析数据流分析的正确性数据流分析所得结论同程序运行时的情况一致需要定义机器模型和操作语义,证明所得结论对操作语义可靠由于数据流分析收集的信息同基本块和控制流有关,通常和变量值无关,因此不同于一般的可靠性证明,例如Hoare逻辑的赋值公理是可靠的{x=1}x:=x+1{x=2}活跃变量分析活跃变量分析的正确性需要将该正确性概念形式地表达出来在活跃变量的初值相同的不同格局下S,1和S,2执行程序S的结果应该是一样的再细

3、化一下,程序每执行一步,得到的不同格局S,1和S,2中,活跃变量的值都相同第2章数据流分析为一类数据流模式建一个共同理论框架总结已讨论过的四种数据流分析模式整理出该框架的一些基本特征或原则规范框架中的性质空间要满足的特征规范框架中迁移函数要满足的性质给出框架的定义区分单调框架和分配框架的区别常量传播数据流模式不是分配的第2章数据流分析位向量框架(Bitvectorframework)Single-bitrepresentationofeachdataflowpropertySeparabil

4、ityofsolutionDataflowpropertiescanbeevaluatedindependentlyMergeoperationisabitwiseANDorORoperationMonotonicbitfunctionAbitfunctioncannotnegateanybit第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章数据

5、流分析常量传播框架的非分配性说明常量传播框架没有分配性的例子B1EXITz=x+yx=2y=3B3B2x=3y=2第2章数据流分析整数格表示没有任何信息可用表示可能不是常量…3210123…第2章数据流分析用集合之间的包含关系来定义部分函数之间的偏序{0,1,1,1,2,1}常函数1阶乘函数{0,1,1,1,2,2}{0,1,1,1}{0,1}{0,5}........................第2章数据流分析数据流方程的求解IDEAL,基于程序所有

6、可能执行路径的解,它少于或等于流图上的执行路径MeetOverallPaths(MOP),不仅汇集了所有可能路径的数据流值,而且还包括了那些不可能被执行路径的数据流值MaximumFixedPoint(MFP),由迭代算法得到的解迭代算法得到的MFP解总是安全的MFPMOPIDEAL第2章数据流分析MOP和MFP的比较由MOP的定义,有MOPo[B4]=((fB3◦fB1)(fB3◦fB2))(vENTRY)在迭代算法(MFP)中,如果按B1,B2,B3和B4的次序访问结点,那么MFPo[B4]=fB3(

7、fB1(vENTRY)fB2(vENTRY))说明路径上较早汇合之影响的流图B1ENTRYB4B3B2第2章数据流分析过程间分析上下文不敏感分析组合所有调用点的状态信息,对过程体仅分析一次,返回状态集合的信息用于所有的返回点上下文敏感分析区分带不同上下文信息的不同调用流不敏感分析语句的执行次序对所要做的分析来说无关紧要流敏感分析S1;S2和S2;S1的分析结果不一样第2章数据流分析过程间分析的关注点上下文敏感分析要注意调用和返回的匹配,注意上下文信息的传递参数传递的方式例如,传引用会引起别名,在此仅考虑传值和

8、传结果方式过程作为参数在此不考虑

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。