<aside> πŸ“ Not including

Untitled

<aside> πŸ’‘ Summary

I. Overview of Data Flow Analysis


Crux

Crux

<aside> πŸ“ may analysis

outputs information that may be true (over-approximation)

</aside>

<aside> πŸ“ must analysis

outputs information that must be true (under-approximation)

</aside>

Over- and under-approximations are both for safety of analysis

II. Preliminaries of Data Flow Analysis


1. Input and Output States

Untitled

<aside> πŸ’‘ In each data-flow analysis application, we associate with every program point a data-flow value that represents an abstraction of the set of all possible program states that can be observed for that point.

</aside>

<aside> πŸ’‘ Data-flow analysis is to find a solution to a set of safe-approximation directed constraints on the IN[s]’s and OUT[s]’s, for all statements s.

2. Notations for Transfer Function’s Constraints

Control flow within a BB

Control flow among BBs

Untitled

Untitled

Untitled

The meet operator $\wedge$ is used to summarize the contributions from different paths at the confluence of those paths

III. Reaching Definitions Analysis