数据流分析:编译原理与程序分析中的一种方法,用来在程序的控制流图(CFG)上计算“信息如何在语句之间传播”。常见用途包括推导变量是否已定义、可能取哪些值、表达式是否可用、是否存在死代码等(也可用于安全审计与优化)。该术语在不同语境下也可泛指“数据在系统/管道中的流动分析”,但在计算机科学里最常指编译器中的静态分析。
/ˈdeɪtə flaʊ əˈnæləsɪs/
Data-flow analysis helps the compiler remove dead code.
数据流分析帮助编译器删除死代码。
By performing interprocedural data-flow analysis, the tool can approximate which variables may be uninitialized along some execution paths.
通过进行跨过程的数据流分析,该工具可以近似判断在某些执行路径上哪些变量可能未初始化。
由 data-flow(“数据流动”,data + flow)与 analysis(“分析”)组成的复合术语。该概念在20世纪后期随现代编译器理论发展而普及,用来描述在控制流图上进行的、以方程/不动点(fixed point)形式求解的静态信息传播框架。