![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
鲸书
面向bug编程
知其然,知其所以然
展开
-
鲸书阅读笔记(七)--------------流图中的循环
前言研究意义:程序需要花费大部分时间来执行循环,改进循环效率的优化有很大的影响。程序分析:如果一个程序不包含任何循环,我们只需要对程序进行一趟扫描就可以得到数据流问题的答案,对于流图中存在的循环,下面介绍几个概念:支配结点、深度优先排序、回边、图的深度和可归约性。本篇对寻找循环以及迭代式数据流分析的速度进行阐述。基本术语支配结点:如果每一条从流图的入口结点到结点n的路径都经...原创 2019-11-07 17:13:36 · 2117 阅读 · 0 评论 -
鲸书阅读笔记-------第八章数据流分析(六)迭代数据流分析(后向)
后向问题的数据流后向问题与前向问题之间存在对偶性。可以将其与基本块的出口相连。后向问题的数据流方程给定的流图G=<N,E>和一个格L,流图G有属于N的入口节点entry和出口结点exit。对所有的B∈N,计算out(B)∈L,其中out(B)表示从B出口时的数据流信息,他们由下面的数据流方程给出:其中,Init表示从过程出口时数据流信息的适当初值,FB()表示与反向...原创 2019-10-29 10:24:18 · 331 阅读 · 0 评论 -
鲸书阅读笔记-------第八章数据流分析(五)迭代数据流分析(前向)
本篇主要内容1.介绍向前分析的迭代实现方法迭代数据流分析假设有一给定的流图G=<N,E>和一个格L,流图G有属于N的入口结点entry和出口结点exit。对于所有的B∈N,计算in(B),Out(B)∈L,其中in(B)表示进入B的入口时的数据流信息,out(B)表示从B出口时的数据流信息。由下面的数据流方程给出:流方程: 其中,Init表示...原创 2019-10-29 09:58:57 · 860 阅读 · 0 评论 -
鲸书阅读笔记-------第八章数据流分析(四)常见数据流问题以及求解方法
本篇介绍1)数据流分析问题归类尺度有哪些2)与程序优化有关的数据流分析问题有哪些,以及格,位向量、数据流方向等描述。3)解决数据流分析的方法有哪些归类尺度1。他们所提供的信息;2. 他们是有关系的还是属性无关的;3.他们使用的格的类型,以及格元素所代表的含义和在这些格上定义的函数4.信息流的方向:按程序执行的方向(向前问题)、程序执行的反方向(后向问题),还是同时两...原创 2019-10-24 14:46:51 · 548 阅读 · 0 评论 -
鲸书阅读笔记-------第八章数据流分析(三):基本概念----格,流函数和不动点
格 1. 数据流分析是通过对一种称为格的代数结构的元素进行运算来完成的。 2. 格的元素代表变量、表达式、或一个过程所有可能执行的其他程序设计结构的抽象性质----这种性质与输入数据值无关,通常也与过程流经的控制流路径无关。 3.格L由值集合和两个运算组成,其中一个运算称为交,L中存在两个唯一的元素,一个称为底(bottom),记作为。另一个称为顶(top)...原创 2019-10-24 10:39:51 · 670 阅读 · 0 评论