Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
chord_notes [2007/06/20 00:07] vkuncak |
chord_notes [2007/06/20 01:28] (current) vkuncak |
||
---|---|---|---|
Line 17: | Line 17: | ||
Phases of the analysis | Phases of the analysis | ||
* OriginalPairs: based on static types | * OriginalPairs: based on static types | ||
- | * reachable pairs: context-insensitive alias analysis + call graph analysis | + | * reachable pairs: alias analysis + call graph analysis |
* aliasing-pairs: k-object sensitive alias analysis + bddbddb | * aliasing-pairs: k-object sensitive alias analysis + bddbddb | ||
* Escaping-Pairs: thread escape analysis | * Escaping-Pairs: thread escape analysis | ||
* Unlocked-Pairs | * Unlocked-Pairs | ||
* Error-reporting | * Error-reporting | ||
+ | |||
+ | Annotations | ||
+ | |||
+ | Unsoundess summary | ||
Experimental results | Experimental results | ||
+ | |||
+ | POPL'07 extensions - sound, no annotations | ||
+ | * separate method and thread creation context | ||
+ | * disjoint reachability to check conditional may alias analysis | ||
+ | * more precise escape analysis | ||
+ | * may-happen in parallel analysis: if thread and call context can execute at the same time | ||
+ | * intraprocedural must alias analysis for field accesses | ||
+ | |||
+ | Disjoint reachability analysis: approximate transitive closure of (o1,o2) such that there was some o1.f=o2 assignment during execution. | ||