【问题标题】:alias analysis vs. pointer analysis vs. points-to analysis别名分析与指针分析与指向分析
【发布时间】:2023-04-02 10:36:01
【问题描述】:

目前我正在阅读很多关于静态代码分析的内容。有几个术语让我感到困惑,因为我真的不知道有什么区别。

  • 别名分析
  • 指针分析
  • 指向分析

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

【问题讨论】:

    标签: code-analysis static-analysis


    【解决方案1】:

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

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

    【讨论】:

    • 只是想我会在这里链接this:“两种常见的指针分析是别名分析和指向分析。别名分析计算一个包含变量对 (p,q) 的集合 S,其中 p 和 q 可能(或必须)指向同一位置。另一方面,如上所述,指向分析计算关系点到 (p,x),其中 p 可能(或必须)指向变量 x 的位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    相关资源
    最近更新 更多