别名分析与指针分析与指向分析

alias analysis vs. pointer analysis vs. points-to analysis

目前我正在阅读很多关于静态代码分析的文章。有几个术语让我感到困惑,因为我无法真正分辨出它们的区别。

它们之间有什么区别(如果有的话)?

Pointer analysispoints-to analysis是静态程序分析, 确定有关指针变量或表达式值的信息。

虽然文献在术语上并不完全一致,pointer analysisalias analysis 的近义词。 然而,pointer/points-to analysis 通常会尝试对堆对象建模并询问 “什么对象 一个变量可以指向吗?”alias analysis算法关注的问题是“一对variables/expressions可以指向同一个对象(别名)吗?”