Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intraprocedural Dataflow Analysis for Software Product Lines Claus Brabrand Márcio Ribeiro Társis Tolêdo Paulo Borba.

Similar presentations


Presentation on theme: "Intraprocedural Dataflow Analysis for Software Product Lines Claus Brabrand Márcio Ribeiro Társis Tolêdo Paulo Borba."— Presentation transcript:

1 Intraprocedural Dataflow Analysis for Software Product Lines Claus Brabrand Márcio Ribeiro Társis Tolêdo Paulo Borba

2 Preprocessor Directives Image logo; #ifndef GLIDER logo = Image.create(/icon.png); #endif UILabel uimg = new UILabel(logo);

3 Preprocessor Directives Image logo; #ifndef GLIDER logo = Image.create(/icon.png); #endif UILabel uimg = new UILabel(logo); Possibly unitialized variable!

4 Dataflow Analysis for Software Product Lines

5 But first…

6 Control Flow Graph (CFG) x = 0; while (...){ x++; } 1

7 Lattice 2

8 Transfer Functions 3 x++;

9 Putting It All Together

10 The Real Deal A1: Brute Force A2: Consecutive Analysis A3: Simultaneous Analysis A4: Shared Simultaneous Analysis

11 A1: Brute Force int x = 0; #ifdef (A) x++; #ifdef (B) x--;

12 A2: Consecutive Analysis

13 A3: Sim. Analysis

14 A4: Shared Analysis All possible configurations!

15 Evaluation

16 Study Settings CIDE as the preprocessor SOOT as the compiler technology Performance (time) Memory consuption (space) Reaching definitions Definite assignments 4 Product Lines

17 The Product Lines

18 Performance (Reaching Defs.)

19

20 Memory Consumption Maximum memory consumption of lattice on one method

21 In the Near Future... INTERprocedural

22 Thank You! Questions?


Download ppt "Intraprocedural Dataflow Analysis for Software Product Lines Claus Brabrand Márcio Ribeiro Társis Tolêdo Paulo Borba."

Similar presentations


Ads by Google