2010   1   8
• Hindley-Milner style polymorphic type
                 inference: low cost of inference by
                 unification t...
2010   1   8
2010   1   8
• 2: type constraint
               • 3: constraint resolution algorithm
               • 4: Computing global flow informat...
Flow-Query



               • each sub-expression is annotated by a label l
               • “Do values arising at label ...
2010
1
8
                                                            Normalized dereference set size




                 ...
2010
1
8
                                                         Multiple of #Nodes
                                     ...
2010   1   8
2010   1   8
2010   1   8
2010   1   8
2010   1   8
2010   1   8
Upcoming SlideShare
Loading in...5
×

Scalablecontext sensiteveflowanalysis-100107093234-phpapp02

210
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
210
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Scalablecontext sensiteveflowanalysis-100107093234-phpapp02

  1. 1. 2010 1 8
  2. 2. • Hindley-Milner style polymorphic type inference: low cost of inference by unification to model intra-procedural dependencies of values • the flow of values between functions characterized by instantiations of polymorphic types • polymorphic version of Steensgaard’s algo. • flow-insensitive, context-sensitive 2010 1 8
  3. 3. 2010 1 8
  4. 4. 2010 1 8
  5. 5. • 2: type constraint • 3: constraint resolution algorithm • 4: Computing global flow information • by type instantiation graph • 5: Experiments 2010 1 8
  6. 6. Flow-Query • each sub-expression is annotated by a label l • “Do values arising at label l in the program 1 flow to a program point lablled l2?” • by tracing path on the type instantiation graph 2010 1 8
  7. 7. 2010 1 8 Normalized dereference set size 0 20 40 60 80 100 co m 18 pr e ss li m 88 ks im ijp eg Monomorphic go Benchmark pe r l Polymorphic vo rte x gc c Analysis time (us per node) co 0 500 1000 1500 2000 m pr e ss li m 88 Monomorphic ks im ijp eg go Benchmark Instantiation overhead pe r l vo rte x gc c Flow step overhead
  8. 8. 2010 1 8 Multiple of #Nodes Monomorphic co 0 6 12 m pr 18 e ss li m 88 ks im ijp eg #Nodes: Polymorphic Benchmark go pe r l vo rte x #Instantiation edges gc c
  9. 9. 2010 1 8
  10. 10. 2010 1 8
  11. 11. 2010 1 8
  12. 12. 2010 1 8
  13. 13. 2010 1 8
  14. 14. 2010 1 8
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×