随笔分类 -  Program Analysis

摘要:1. 三条定律:交换律、结合律、吸收律(对于半格是幂等律),吸收律包含了幂等律 2. 上下界:交半格每对元素都有唯一最大下界,并半格每对元素都有唯一最小上界,格每对元素都有唯一最大下界和唯一最小上界 3. 格定义一个偏序,偏序有三个性质:自反性、反对称性、传递性 4. 格与偏序的关系:每个格对应一个 阅读全文
posted @ 2023-09-06 23:39 cq12yue 阅读(53) 评论(0) 推荐(0)
摘要:1. 数学基础:两者的共同点是都基于数据流值的半格和对组合运算封闭的传递函数,不同点是区域分析算法还要求传递函数是一个半格,不仅支持组合运算,而且支持交汇运算和闭包运算,交汇运算用于把有相同后继的不同执行路径组合起来,闭包运算用于环上(比如循环)执行零到多次的效果 2. 流程:迭代算法由初始化和循环 阅读全文
posted @ 2023-09-06 23:18 cq12yue 阅读(42) 评论(0) 推荐(0)
摘要:1. 迭代算法在什么情况下是正确的 数据流值满足半格的定义,以及数据流方程中的传递函数满足单调性 2. 迭代算法在什么情况下必定收敛 在满足正确性的前提下,当数据流值对应的半格高度有限时,必定收敛。以最小元为初值的迭代收敛于最小不动点,以最大元为初值的迭代收敛于最大不动点 3. IDEAL、MOP、 阅读全文
posted @ 2023-09-06 22:53 cq12yue 阅读(47) 评论(0) 推荐(0)
摘要:为什么要加宽算子?因为当格的偏序集合L不满足升链条件,从最小元迭代计算最小不动点的过程是不收敛的,即迭代序列(fⁿ(⊥))ₙ不保证最终稳定,且其最小上界不保证等于最小不动点,因此需要一种近似lfp(f)的方法。引入加宽算子fw:L×L—>L, fw(x)=x▽f(x),可以将L上的一个序列转为收敛的 阅读全文
posted @ 2023-09-06 22:45 cq12yue 阅读(22) 评论(0) 推荐(0)
摘要:【性质】 1. 判定两个完全格L和M能否构成伽罗瓦连接,即抽象化函数α: L—>M是否完全加性的,或具体化函数γ: M—>L是否完全乘性的 2. 构造抽象化函数和具体化函数,即对于一个Galois连接(L, α, γ, M),给定α可通过γ(m) = ⊔{l | α(l) ⊑ m}确定γ,这对于所有 阅读全文
posted @ 2023-09-06 22:42 cq12yue 阅读(63) 评论(0) 推荐(0)