序言
遥望洞庭山水翠,白银盘里一青螺。
这篇梳理数据流分析及相关方法。
数据流 Data Flows
CFG上到底是什么在流动?
是数据流。
绝大部分静态分析牺牲了completeness。
先讲两点:
- 对变量进行抽象表达。
- over-approcimation:过近似。就是说无论实际函数产生了多么复杂的情况,静态分析时都应该包含每种情况。
may-analysis:绝大部分静态分析,最常见。
Outputs: maybe-true , so -> over-approximation.
must-analysis: 为了报出来一定是正确的,那么就必须under-approximation。
Outputs: must be true , so -> under-approximation.
同一目标:safe-approximation