数据流分析:一种静态程序分析方法,用来推断程序中“数据如何在各个语句/基本块之间传播与变化”,例如变量的定义与使用、哪些值可能到达某个点、哪些变量在某处仍然“活跃”等。常用于编译器优化与程序正确性检查。
/ˈdeɪtə floʊ əˈnæləsɪs/
Data-flow analysis can detect whether a variable might be used before it is defined.
数据流分析可以检测变量是否可能在被定义之前就被使用。
Using a control-flow graph, the compiler runs data-flow analysis to compute reaching definitions and enable dead-code elimination.
编译器利用控制流图进行数据流分析,计算“到达定义”,从而实现死代码消除等优化。
由 data-flow(数据流动/数据在程序中的传播) + analysis(分析) 组合而成。该术语在编译原理与程序分析领域中发展成熟,常与“控制流图(CFG)”“数据流方程”等概念一起出现,用于形式化描述程序信息如何在路径上合并、传播与收敛。