评估按需驱动的调用图构建技术
1. 按需驱动的调用图构建技术概述
在软件开发过程中,调用图的构建对于程序分析和优化至关重要。本文介绍了一种按需驱动的调用图构建技术,该技术旨在提高分析效率,减少不必要的计算。
我们使用程序摘要图(PSG)来表示程序的过程间信息,并通过类层次分析(CHA)构建一个相对不准确的初始调用图。在介绍该技术时,我们定义了以下几个重要概念:
- pred(v) :PSG 中节点 v 的前驱节点集合,该集合在 PSG 构建时初始化,不随类型信息的精确化而改变。
- proc(v) :仅当节点 v 是入口节点或出口节点时定义,表示该节点所属的过程名称。
- TYPES(v) :分析过程中与 PSG 节点 v 关联的类型集合,初始通过类层次分析构建,后续通过数据流传播进行细化。
- THIS_NODE(v) :对应于过程入口、出口、调用或返回处的 this 指针的节点。
- THIS_TYPE(v) :如果顶点 v 是调用节点或返回节点,返回该调用点 this 指针当前关联的类型。
- PROCS(S) :给定与调用节点的 this 指针关联的类型集合 S ,返回该调用点实际可以调用的过程集合。
超级会员免费看
订阅专栏 解锁全文
2117

被折叠的 条评论
为什么被折叠?



