Data Flow Analysis

Data Flow Analysis
复制标题

数据流分析

DOI:
10.1201/9781420040579.ch1
复制
发表时间:
2002
期刊:
影响因子:
0.6
通讯作者:
Uday P. Khedker
Uday P. Khedker
中科院分区:
计算机科学4区
文献类型:
--
作者:
Uday P. Khedker

文献摘要

被引文献

相似文献

在本章中,我们介绍数据流分析的技术。数据流分析是程序分析的传统形式,在许多编译器编写教科书中都有描述。我们将介绍在第一章中介绍的简单命令式语言的分析。这包括一些经典的数据流分析:可用表达式,到达定义,非常繁忙的表达式和活变量。我们为While引入了一个操作语义,并演示了活变量分析的正确性。然后,我们提出了单调框架的概念,并展示了如何将示例重新塑造为这样的框架。我们继续提出求解流动方程的工作表算法,并研究了它的终止性和正确性。本章最后介绍了一些高级主题,包括程序间数据流分析和形状分析。
In this chapter we introduce techniques for Data Flow Analysis. Data Flow Analysis is the traditional form of program analysis which is described in many textbooks on compiler writing. We will present analyses for the simple imperative language While that was introduced in Chapter 1. This includes a number of classical Data Flow Analyses: Available Expressions, Reaching Definitions, Very Busy Expressions and Live Variables. We introduce an operational semantics for While and demonstrate the correctness of the Live Variables Analysis. We then present the notion of Monotone Frameworks and show how the examples may be recast as such frameworks. We continue by presenting a worklist algorithm for solving flow equations and we study its termination and correctness properties. The chapter concludes with a presentation of some advanced topics, including Interprocedural Data Flow Analysis and Shape Analysis.