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

25
Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu

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

Page 1: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.

Precise Interprocedural Dataflow Analysis via Graph Reachibility

Thomas Reps

Susan Horwitz

Mooly Sagiv

Directed Reading Week # 4Erkan Keremoglu

Page 2: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan 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

Page 3: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.

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.

Page 4: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 5: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.

Definitions

• A valid path is defined as follows

Page 6: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 7: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.

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)

Page 8: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.

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

Page 9: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 10: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.

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

Page 11: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 12: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 13: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 14: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 15: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 16: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 17: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 18: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 19: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 20: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 21: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 22: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 23: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 24: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.
Page 25: Precise Interprocedural Dataflow Analysis via Graph Reachibility Thomas Reps Susan Horwitz Mooly Sagiv Directed Reading Week # 4 Erkan Keremoglu.