我们考虑的最后一个TIP语言特性是指针和动态内存分配(请参见第2.1节的语法)。为简单起见,我们忽略了record(除了第11.2节的最后部分)。

    为了说明指针相关的问题,假设我们希望对类似于以下TIP代码进行符号分析或常量传播分析:
*x = 42;
*y = -87;
z = *x;

在这里,变量 z 的值取决于变量 x 和 y 是否是别名,即它们是否指向同一个单元。如果没有这样的别名信息,很快就会变得无法生成有用的数据流和控制流分析结果。

11.1 分配点抽象

11.2 Andersen算法

11.3 Steensgaard 算法

11.4 过程间指针分析

11.5 空指针分析

11.6 流敏感的指针分析

11.7 逃逸分析