Proj THUDBFuzz Paper Reading: 南京大学软件分析课程2020, 08 Pointer Analysis

时间:2021-01-26 12:06:31   收藏:0   阅读:0

Motivation

明显,类层次分析没法很好完成invokeinterface的分析。
技术图片

Intro

作用:

  1. 确定某个指针能够指向何处memory
  2. 对oop能够确定指针指向的具体是哪个class的方法,field等

一般是may analysis
技术图片

Pointer Analysis & Alias Analysis

注意区分这二者实际上是不同的任务,尽管pointer analysis有能力得到alias analysis所需的信息。
技术图片

潜在应用场景

  1. 用于建立call graph
  2. 用于优化编译器,比如virtual call inlining
  3. 用于bug detection,例如null pointer detection
  4. 用于安全分析
  5. ...

key factors

Pointer Analysis可以在多个问题上做出取舍,比如如何对堆建模,如何对上下文建模,如何对控制流建模,是否需要分析整个程序还是仅仅分析感兴趣的。
技术图片

heap memory

在实际执行中,heap objects可能会因为loops和recursion无限制增长。

A[] As;
loop{
As.append(new A());
}

为此,heap abstraction models将这些动态分配的,可能无限大的objects直接视为一个finite abstract objects,也即忽视构成元素个数。
技术图片

Concerned

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!