Data-flow Analysis 发音 定义 Definition 数据流分析 :一种静态程序分析 方法,用来推断程序中“数据如何在各个语句/基本块之间传播与变化”,例如变量的定义与使用、哪些值可能到达某个点、哪些变量在某处仍然“活跃”等。常用于编译器优化 与程序正确性检查 。
发音 Pronunciation (IPA) /det flo nlss/
例句 Examples 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. 编译器利用控制流图进行数据流分析,计算“到达定义”,从而实现死代码消除等优化。
词源 Etymology 由 data-flow(数据流动/数据在程序中的传播) + analysis(分析) 组合而成。该术语在编译原理与程序分析领域中发展成熟,常与“控制流图(CFG)”“数据流方程”等概念一起出现,用于形式化描述程序信息如何在路径上合并、传播与收敛。
相关词 Related Words Static Analysis Control-Flow Graph Reaching Definitions Liveness Analysis Available Expressions Constant Propagation Dead-Code Elimination Compiler Optimization 文学与著作中的用例 Notable Works Compilers: Principles, Techniques, and Tools (Aho, Sethi, Ullman;俗称“龙书”)以数据流分析讲解经典编译优化框架。 Engineering a Compiler (Cooper & Torczon)系统介绍数据流方程、迭代求解与常见数据流问题。 Advanced Compiler Design and Implementation (Steven Muchnick)深入讨论全局优化中的数据流分析技术。 “A Unified Approach to Global Program Optimization”(Gary A. Kildall, 1973)早期奠基性论文之一,推动数据流分析/全局优化的形式化发展。