Module 8: Dataflow Analysis - Part II

[Video] [Slides]

Description:

This module introduces the two of the remaining classic dataflow analyses – Available Expressions Analysis and Live Variables Analysis. Then you’ll learn about the overall pattern followed by the four classic dataflow analyses. The module also delves into Interval Analysis, a modern dataflow analysis with many applications to finding security bugs. In the end, you’ll learn about the concept of widening to ensure termination of interval analysis.

Objectives:

  • Demonstrate how Available Expressions Analysis and Live Variables Analysis work on a program in the WHILE language.
  • Compare and contrast the four classic Dataflow Analyses based on the dataflow pattern.
  • Understand the importance of Interval Analysis in finding common errors in software.
  • Define the operations and abstract domain of Interval Analysis.
  • Apply the chaotic iteration algorithm to understand the step-by-step operation of Interval Analysis and recognize the importance of Widening.