Proj THUDBFuzz Paper Reading: 南京大学软件分析课程2020, 08 Pointer Analysis
时间:2021-01-26 12:06:31
收藏:0
阅读:0
Motivation
明显,类层次分析没法很好完成invokeinterface的分析。
Intro
作用:
- 确定某个指针能够指向何处memory
- 对oop能够确定指针指向的具体是哪个class的方法,field等
一般是may analysis
Pointer Analysis & Alias Analysis
注意区分这二者实际上是不同的任务,尽管pointer analysis有能力得到alias analysis所需的信息。
潜在应用场景
- 用于建立call graph
- 用于优化编译器,比如virtual call inlining
- 用于bug detection,例如null pointer detection
- 用于安全分析
- ...
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)