26
1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

Embed Size (px)

Citation preview

Page 1: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

1/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Principles of Program Analysis

Flemming Nielson, Hanne Riis Nielson and Chris Hankin

Page 2: 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

Page 3: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

3/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Introduction

Page 4: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

4/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Table of Contents

Introduction Data flow analysis Future work

Constraints based analysis References

Page 5: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

5/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Data flow analysis

Page 6: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

6/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Data flow analysiselementary block :1. assignment state-

ment2. test statement3. skip statement

with labels

Page 7: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

7/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Data flow analysis

Page 8: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

8/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Reaching definitions analysis (1)

Page 9: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

9/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Reaching definitions analysis (2)

Page 10: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

10/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Reaching definitions analysis

Page 11: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

11/20 Principles of Program Analysis Charngki Hong @ PSWLAB

The best solution

Page 12: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

12/20 Principles of Program Analysis Charngki Hong @ PSWLAB

A safe solution – but not the best

Page 13: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

13/20 Principles of Program Analysis Charngki Hong @ PSWLAB

An unsafe solution

Page 14: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

14/20 Principles of Program Analysis Charngki Hong @ PSWLAB

How to automate the analysis

Page 15: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

15/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Page 16: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

16/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Flow through assignments and tests

Var = { x, y, z }

Page 17: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

17/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Flow along the control

Var = { x, y, z }

Page 18: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

18/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Summary of equation system

Page 19: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

19/20 Principles of Program Analysis Charngki Hong @ PSWLAB

How to solve the equations

Page 20: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

20/20 Principles of Program Analysis Charngki Hong @ PSWLAB

The example equations

Page 21: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

21/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Why does it work? (1)

Page 22: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

22/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Why does it work? (2)

Page 23: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

23/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Why does it work? (3)

Page 24: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

25/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Future work Constraints based analysis

Page 25: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

26/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Table of Contents

Introduction Data flow analysis Future work

Constraints based analysis References

Page 26: 1/20 Principles of Program Analysis Charngki Hong @ PSWLAB Principles of Program Analysis Flemming Nielson, Hanne Riis Nielson and Chris Hankin

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