1/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Principles of Program Analysis
Flemming Nielson, Hanne Riis Nielson and Chris Hankin
2/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Table of Contents
Introduction Data flow analysis Future work
Constraints based analysis References
3/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Introduction
4/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Table of Contents
Introduction Data flow analysis Future work
Constraints based analysis References
5/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Data flow analysis
6/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Data flow analysiselementary block :1. assignment state-
ment2. test statement3. skip statement
with labels
7/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Data flow analysis
8/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Reaching definitions analysis (1)
9/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Reaching definitions analysis (2)
10/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Reaching definitions analysis
11/20 Principles of Program Analysis Charngki Hong @ PSWLAB
The best solution
12/20 Principles of Program Analysis Charngki Hong @ PSWLAB
A safe solution – but not the best
13/20 Principles of Program Analysis Charngki Hong @ PSWLAB
An unsafe solution
14/20 Principles of Program Analysis Charngki Hong @ PSWLAB
How to automate the analysis
15/20 Principles of Program Analysis Charngki Hong @ PSWLAB
16/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Flow through assignments and tests
Var = { x, y, z }
17/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Flow along the control
Var = { x, y, z }
18/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Summary of equation system
19/20 Principles of Program Analysis Charngki Hong @ PSWLAB
How to solve the equations
20/20 Principles of Program Analysis Charngki Hong @ PSWLAB
The example equations
21/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Why does it work? (1)
22/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Why does it work? (2)
23/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Why does it work? (3)
25/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Future work Constraints based analysis
26/20 Principles of Program Analysis Charngki Hong @ PSWLAB
Table of Contents
Introduction Data flow analysis Future work
Constraints based analysis References
27/20 Principles of Program Analysis Charngki Hong @ PSWLAB
References Principles of program analysis, Flemming Niel-
son, Hanne Riis Nielson, Chris Hankin http://www2.imm.dtu.dk/~riis/PPA/ppa-
sup2004.html