过程间分析

前言

视频:北大-软件分析-公开课
文档:课件
简单记录下。


过程间分析

过程间分析(Inter-procedural Analysis)考虑过程调用的分析。有时又称为全程序分析Whole Program Analysis,对于C, C++等语言,有时又称为链接时分析Link-time Analysis。基本思路如下:

  • 对不同过程采用不同抽象域
  • 在调用和返回的时候添加结点来转换信息
  • 全局变量需要加到所有使用的过程和这些过程的直接和间接调用者中
    在这里插入图片描述

基于函数摘要的过程间分析

动机1:在数据流分析中,很多转换函数的效果可以互相抵消,但我们还是要针对每一个进行计算。
动机2:程序分析中大量代码是库代码,往往分析一个很小的程序就要分析大量库代码。
基于函数摘要的加速技术:将一个过程摘要成一个转换函数。如果节省下来的冗余计算大于摘要花费,则加速
了程序分析。库函数可以提前做成摘要,在分析用户代码的时候直接使用摘要。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

da1234cao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值