Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan.

Similar presentations


Presentation on theme: "Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan."— Presentation transcript:

1 Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan 1, Guoqing Xu 2, Atanas Rountev 1 1 Ohio State University 2 University of California, Irvine

2 Overview Programs are built with reusable components – Standard libraries in Java, C++, C# – Domain-specific libraries and frameworks Whole-program analysis – Analysis of both application and library code – Methods are analyzed under different contexts Summary-based analysis – Pre-analysis of library code (summary generation) – Reuse result of pre-analysis (summary application) Challenges – Carefully designed abstractions and algorithms – Infrastructure for summary generation and application 2

3 Case Study: An Alias Analysis [ISSTA’11] 3 m(a) { c = new …; // o 1 a.f = c; return c.g; } d = new …; // o 2 b = m(d); // call m

4 Case Study: An Alias Analysis [ISSTA’11] 4 m(a) { c = new …; // o 1 a.f = c; return c.g; } d = new …; // o 2 b = m(d); // call m o1o1 sasa f sfsf ret c g d o2o2 b smsm entry m exit m a

5 Case Study: An Alias Analysis [ISSTA’11] 5 m(a) { c = new …; // o 1 a.f = c; return c.g; } d = new …; // o 2 b = m(d); // call m o1o1 sasa f sfsf ret c g d o2o2 b smsm entry m exit m a b alias? d

6 Case Study: An Alias Analysis [ISSTA’11] 6 m(a) { c = new …; // o 1 a.f = c; return c.g; } d = new …; // o 2 b = m(d); // call m o1o1 sasa f sfsf ret c g d o2o2 b smsm entry m exit m a b alias? d

7 Case Study: An Alias Analysis [ISSTA’11] 7 m(a) { c = new …; // o 1 a.f = c; return c.g; } d = new …; // o 2 b = m(d); // call m o1o1 sasa f sfsf ret c g d o2o2 b smsm entry m exit m a

8 Case Study: An Alias Analysis [ISSTA’11] 8 m(a) { c = new …; // o 1 a.f = c; return c.g; } d = new …; // o 2 b = m(d); // call m o1o1 sasa f sfsf ret c g d o2o2 b smsm entry m exit m a summary(m): sasa f, g sgsg

9 Experimental Evaluation 19 Java programs – For all programs, more than 50% of nodes in the call graph are methods in the Java standard library – For most programs, the percentage exceeds 80% Two experiments – Summary-based construction of program representation – Summary-based computation of graph reachability Results – Significant potential savings in analysis running time – Additional savings limited by infrastructure 9

10 Discussion Goal: support summary-based analysis in Soot Problems with ad-hoc extensions – Difficulty in code maintenance – Difficulty in comparing analyses – Limited benefits in summarization Issues to consider – Configuration mechanisms – Management of summary information – Verification of summary information 10

11 Discussion Configuration mechanisms – Customization to allow summary-based analysis – Dependence between analyses Management of summary information – Unified summary APIs – Techniques of data structure persistence – Mapping back to program entities Verification of summary information – Consistency between summary and Jimple – Code changes 11

12 Conclusion Case study on an alias analysis Potential savings in analysis running time with summarization Discussion on supporting summary-based analysis – Configuration mechanisms – Management of summary information – Verification of summary information 12

13 Thank you 13


Download ppt "Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan."

Similar presentations


Ads by Google