Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly...

Post on 28-Dec-2015

217 views 0 download

Tags:

Transcript of Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly...

Precise Interprocedural Dataflow Analysis via Graph Reachibility

Thomas Reps

Susan Horwitz

Mooly Sagiv

Directed Reading Week # 4Erkan Keremoglu

Contributions

• A context sensitive framework for dataflow analysis on general class of problems

• IFDS problems are transformed into a kind of graph-reachability problem

• IFDS: Interprocedural – Finite – Distributive – Subset problems

Definitions

• A program is represented by its supergraph

• Collection of CFGs Gs, each G has a unique start and exit node

• In the graph, each statement is represented by a node, where procedure calls are represented by two nodes.

Definitions

• A valid path is defined as follows

An IFDS Problem

• D – all variables in the program• F – The edges in the lattice• M – maps functions in F to CFG’s edges• Meet operator – same as we used before (like

join)

Solution to IFDS problems

• MVP solution: meet-over-all-valid paths solution

• Don’t look at the formula – Intuitively it means “union of all solutions from initial state to node n”

• Example: Possibly uninitialized variables problem

Converting it into a graph reachability problem

• Represent functions as relations

• Composition of two relations relates to the compositions of two functions

• Using this property, we define exploded supergraph