高阶程序的堆栈汇总控制流分析
摘要:高级流分析的两个下降点:(1)在过程调用时合并参数值和(2)在过程返回时合并返回值。为了解决精度损失问题,这两个下降点被单独讨论。在过程调用的情况下,抽象垃圾回收减少了参数合并;而在过程返回的情况下,无上下文方法消除了返回值合并。自然而然地,我们期望联合分析可以享受这两种方法之间的相互有益交互。本文的核心贡献是将抽象垃圾回收与无上下文分析直接结合起来。克服的核心挑战是推入系统的核心约束与垃圾回收的需求之间存在冲突:推入系统只能看到栈的顶部,而垃圾回收在收集过程中需要看到整个栈。为了使直接乘积可计算,我们开发了一种“栈总结”的方法,用于在高级程序的推入式分析中跟踪每个控制状态的栈属性。
作者:Christopher Earl, Matthew Might, David Van Horn
论文ID:1009.1560
分类:Programming Languages
分类简称:cs.PL
提交时间:2011-11-10