码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2021-01-26 12:06:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:上下文   virt   ali   mod   rac   object   new   场景   loop   

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

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

标签:上下文   virt   ali   mod   rac   object   new   场景   loop   

原文地址:https://www.cnblogs.com/xuesu/p/14321797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!