本文主要参考 Eric Bodden 的 Implementinganintra-proceduraldata-flowanalysisin Soot
过程内数据流分析(intra-procedural data-flow analysis)是针对某一个方法的控制流图(也就是 soot 中的 UnitGraph )操作的。UnitGraph 是以 statement 为结点,如果一个source node 的控制流经过一个 Target node,则两者会有一条边。关于具体的数据流分析还是看龙书。
对于 Soot,有3种 FlowAnalysis 的实现,分别是:
- ForwardFlowAnalysis ,从 UnitGraph 的 entry 开始