Module 7: Dataflow Analysis - Part I
This module delves into Dataflow Analysis – a popular type of static analysis widely used in compilers and software quality tools. It introduces the WHILE language and the control-flow graph representation of WHILE programs on which dataflow analyses operate. Two classic dataflow analyses are presented: Reaching Definitions Analysis and Very Busy Expressions Analysis. The similarities and differences of the two analyses are discussed.
- Define and represent the result of a Dataflow Analysis using control-flow graphs and the WHILE language.
- Understand the properties of Dataflow Analysis and list some of their applications in compilers and software quality tools.
- Define the operations and abstract domain of Reaching Definitions Analysis and Very Busy Expressions Analysis.
- Demonstrate how Reaching Definitions Analysis works on a program in the WHILE language.
- Demonstrate how Very Busy Expressions Analysis works on a program in the WHILE language.