首页 > 其他分享 >指向分析/指针分析(Pointer analysis)

指向分析/指针分析(Pointer analysis)

时间:2022-12-23 16:02:05浏览次数:31  
标签:分析 指向 静态 analysis 编译 Pointer 源程序 指针


在基于SAST的静态分析工具中,指向分析是经常采用的分析技术。指向分析怎么理解呢?

指向分析是一种用于分析指针和内存引用所指向的变量或内存地址的静态代码分析技术。指向分析技术是很多更为复杂的代码分析技术的基础,例如编译优化,代码缺陷检测以及指针修改影响分析。

指向分析,是指通过对源程序的分析近似地求出源程序中指针表达式所指向的目标。

指向分析紧接数据流分析,是静态分析中的一个难点。对于任何一个指针/引用,能否在编译阶段就知道它会指向内存那块位置(位置在这里并不是0xFFFF这样的具体位置,而是说指向哪个stack/heap上local/object)呢? 我们不能对任何指针都准确的分析出它会确切指向哪。但这不妨碍我们求出近似解,从而在某些情况下能作出优化。 因此我们把问题转化为: 对于任何一个任何指针,能否在编译阶段知道它所有可能(may)指向的位置?

标签:分析,指向,静态,analysis,编译,Pointer,源程序,指针
From: https://blog.51cto.com/u_12655962/5965901

相关文章

  • Spring Security系列教程17--注销登录的实现及原理分析
    前言经过前面几个章节的学习,一一哥已经带各位实现了两种方式的自动登录。咱们现在已经学会了如何自动登录,那么又该如何退出登录呢?接下来请再跟着壹哥把注销登录功能也实......
  • 火山引擎 DataTester 上线“流程画布”功能,支持组合型 A/B 实验分析
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在精细化运营的时代,运营活动同样需要有精细化的策略,例如在年末大促活动中,设计APP......
  • AcDbSmartObjectPointer
    描述这个类与AcDbObjectPointer协议兼容,并且增加了在给定对象id时避免访问对象的开放冲突的功能,此外还有长期存在的总是“关闭”对象或至少将其恢复到分配给指针之前的打......
  • python数据分析练习
    第一部分:数据类型处理数据加载字段含义:user_id:用户IDorder_dt:购买日期order_product:购买产品的数量order_amount:购买金额df=pd.read_csv('../data/CDN......
  • 关于Gmail电子邮件使用情况数据分析
    关于Gmail电子邮件使用数据分析一、选题背景    随着时代的快速发展,互联网越来越发达,越来越多的人们开始抛弃传统的书信邮件,改用了电子邮件。电子邮件有很多的优......
  • Python网络爬虫——爬取和分析福建二手房房价及各项数据
    一、 选题的背景介绍随着越来越多城市的房地产市场进入存量时代,二手房市场的地位愈发重要,其走势对于房地产整体市场的影响也逐渐加强。在很多二手房市场规模占比较高的一......
  • Zabbix与乐维监控对比分析(五)——可视化篇
    前面我们详细介绍了Zabbix与乐维监控的架构与性能、Agent管理、自动发现、权限管理、对象管理、告警管理方面的对比分析,相信大家对二者的对比分析有了相对深入的了解,接下来......
  • 分析建模
    为了更好地理解需求获取过程中用户描述的问题,可以采用创建模型的方式实现。这就是分析建模的过程。模型,就是为了理解事物所做出的一种抽象,是对事物无歧视义......
  • Zabbix与乐维监控对比分析(五)——可视化篇
    前面我们详细介绍了Zabbix与乐维监控的架构与性能、Agent管理、自动发现、权限管理、对象管理、告警管理方面的对比分析,相信大家对二者的对比分析有了相对深入的了解,接下来......
  • xxl-job使用openfeign,报空指针异常(java.lang.NullPointerException)
    当使用xxl-job调用项目时,如果刚好使用了feign中间件调用微服务接口,会报空指针异常可以在代码前面加一句:RequestContextHolder.setRequestAttributes(newServletReques......