object representatives a uniform abstraction for pointer
play

Object representatives: a uniform abstraction for pointer - PowerPoint PPT Presentation

Motivation Abstraction Implementation Related Work and Conclusion Object representatives: a uniform abstraction for pointer information Eric Bodden, Patrick Lam and Laurie Hendren September 2008 Motivation Abstraction Implementation


  1. Motivation Abstraction Implementation Related Work and Conclusion Object representatives: a uniform abstraction for pointer information Eric Bodden, Patrick Lam and Laurie Hendren September 2008

  2. Motivation Abstraction Implementation Related Work and Conclusion Situation DEMANDING CLIENT

  3. Motivation Abstraction Implementation Related Work and Conclusion Situation DEMANDING Pointer Analysis! CLIENT

  4. Motivation Abstraction Implementation Related Work and Conclusion Situation Pointer Analyses Whole- Whole- Intraprocedural program program may-alias may-alias must-alias DEMANDING CLIENT Intraprocedural Object- sensitive must-alias

  5. Motivation Abstraction Implementation Related Work and Conclusion Situation Pointer Analyses DEMANDING CLIENT

  6. Motivation Abstraction Implementation Related Work and Conclusion What We Really Want Pointer Analyses Whole- Intraprocedural program may-alias may-alias DEMANDING CLIENT Object- Intraprocedural sensitive must-alias

  7. Motivation Abstraction Implementation Related Work and Conclusion On the Demanding Client property we want to check what it looks like at runtime how we can mirror this at compile time (perhaps bad attempt with variable names?) Each pointer analysis gives a different abstraction and interface We want a common abstraction (next few slides also contain this)

  8. Motivation Abstraction Implementation Related Work and Conclusion Property to Check

  9. Motivation Abstraction Implementation Related Work and Conclusion Runtime View

  10. Motivation Abstraction Implementation Related Work and Conclusion Static Analysis Approach Verify properties at compile time (tracematch workings figure)

  11. Motivation Abstraction Implementation Related Work and Conclusion How to analyze the property Automaton

  12. Motivation Abstraction Implementation Related Work and Conclusion Runtime view

  13. Motivation Abstraction Implementation Related Work and Conclusion Moving to the compile-time view

  14. Motivation Abstraction Implementation Related Work and Conclusion Actually the abstraction is none of your business. But we interpose a “object representatives” box between the client and the analyses. We will answer these questions: does object r must-alias object r ′ ? 1 does object r not-must-alias object r ′ ? 2

  15. Motivation Abstraction Implementation Related Work and Conclusion Properties of object representatives represent one or more runtime objects; 1 supports r1.mustNotAlias(r2); 2 supports r1.equals(r2): must-alias 3 belongs to a must-aliasing scope 4

  16. Motivation Abstraction Implementation Related Work and Conclusion Options You can tweak these settings: weak vs. strong 1 must-aliasing scope 2

  17. Motivation Abstraction Implementation Related Work and Conclusion Object Representatives as Java objects

  18. Motivation Abstraction Implementation Related Work and Conclusion Computing object representatives Three analyses, plus combining them. Go back to the starting figure. Put in the intermediate box for obj representatives.

  19. Motivation Abstraction Implementation Related Work and Conclusion Intraprocedural must-alias analysis

  20. Motivation Abstraction Implementation Related Work and Conclusion Intraprocedural may-alias analysis

  21. Motivation Abstraction Implementation Related Work and Conclusion Interprocedural may-alias analysis

  22. Motivation Abstraction Implementation Related Work and Conclusion Combining analysis results: not-may-alias queries object rep- local resentatives must-not-alias start yes of same analysis method? don’t know no points-to sets overlap? must not alias yes

  23. Motivation Abstraction Implementation Related Work and Conclusion Combining analysis results: must-alias queries object rep- local resentatives must-alias start yes of same analysis method? must alias don’t know no don’t know (not must-alias must-alias)

  24. Motivation Abstraction Implementation Related Work and Conclusion Related Work

  25. Motivation Abstraction Implementation Related Work and Conclusion Conclusion

Recommend


More recommend