Download - Principles of Program Analysis

Transcript
Page 1: Principles of Program Analysis

1/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Principles of Program Analysis

Flemming Nielson, Hanne Riis Nielson and Chris Hankin

Page 2: Principles of Program Analysis

2/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Table of Contents

Introduction Data flow analysis Future work

Constraints based analysis References

Page 3: Principles of Program Analysis

3/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Introduction

Page 4: Principles of Program Analysis

4/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Table of Contents

Introduction Data flow analysis Future work

Constraints based analysis References

Page 5: Principles of Program Analysis

5/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Data flow analysis

Page 6: Principles of Program Analysis

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: Principles of Program Analysis

7/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Data flow analysis

Page 8: Principles of Program Analysis

8/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Reaching definitions analysis (1)

Page 9: Principles of Program Analysis

9/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Reaching definitions analysis (2)

Page 10: Principles of Program Analysis

10/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Reaching definitions analysis

Page 11: Principles of Program Analysis

11/20 Principles of Program Analysis Charngki Hong @ PSWLAB

The best solution

Page 12: Principles of Program Analysis

12/20 Principles of Program Analysis Charngki Hong @ PSWLAB

A safe solution – but not the best

Page 13: Principles of Program Analysis

13/20 Principles of Program Analysis Charngki Hong @ PSWLAB

An unsafe solution

Page 14: Principles of Program Analysis

14/20 Principles of Program Analysis Charngki Hong @ PSWLAB

How to automate the analysis

Page 15: Principles of Program Analysis

15/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Page 16: Principles of Program Analysis

16/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Flow through assignments and tests

Var = { x, y, z }

Page 17: Principles of Program Analysis

17/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Flow along the control

Var = { x, y, z }

Page 18: Principles of Program Analysis

18/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Summary of equation system

Page 19: Principles of Program Analysis

19/20 Principles of Program Analysis Charngki Hong @ PSWLAB

How to solve the equations

Page 20: Principles of Program Analysis

20/20 Principles of Program Analysis Charngki Hong @ PSWLAB

The example equations

Page 21: Principles of Program Analysis

21/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Why does it work? (1)

Page 22: Principles of Program Analysis

22/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Why does it work? (2)

Page 23: Principles of Program Analysis

23/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Why does it work? (3)

Page 24: Principles of Program Analysis

25/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Future work Constraints based analysis

Page 25: Principles of Program Analysis

26/20 Principles of Program Analysis Charngki Hong @ PSWLAB

Table of Contents

Introduction Data flow analysis Future work

Constraints based analysis References

Page 26: Principles of Program Analysis

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