10.1109/ICSE-Companion.2019.00106acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedings
research-article

Demand-driven refinement of points-to analysis

ABSTRACT

We present DynaSens, a demand-driven approach to points-to analysis that uses slicing to automatically adjust the analysis' context-sensitivity. Within a points-to analysis, heap-carried data flows are composed of loads and stores, and these heap-carried dependences are difficult to resolve. Having observed the limitations of existing techniques, we propose a slicing analysis based on a demand-driven approach to resolve such dependences. Given a points-to query, a collection of relevant program elements is identified by the slicing analysis and handled context-sensitively by the points-to analysis. We compare the precision and cost of our points-to analysis against two state-of-the-art uniformly context-sensitive analyses that achieve the best trade between cost and precision to date. Evaluation results shows the points-to analysis refined by the slicing analysis achieves higher precision in most tests than the uniformly context-sensitive analyses, which are many times more costly.

References

  1. Y. Smaragdakis, G. Kastrinis, and G. Balatsouras, "Introspective analysis: Context-sensitivity, across the board," ser. PLDI '14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Liang and M. Naik, "Scaling abstraction refinement via pruning," ser. PLDI '11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. O. Shivers, "Control flow analysis in scheme," ser. PLDI '88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Sridharan and R. Bodík, "Refinement-based context-sensitive points-to analysis for java," ser. PLDI '06. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. M. Nystrom, H.-S. Kim, and W.-m. W. Hwu, "Bottom-up and top-down context-sensitive summary-based pointer analysis," R. Giacobazzi, Ed.Google ScholarGoogle Scholar
  6. S. Arzt, S. Rasthofer, C. Fritz, E. Bodden, A. Bartel, J. Klein, Y. Le Traon, D. Octeau, and P. McDaniel, "Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps," ser. PLDI '14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. M. Lucassen and D. K. Gifford, "Polymorphic effect systems," ser. POPL '88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. W. Reps, "Solving demand versions of interprocedural analysis problems," ser. CC '94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Y. Smaragdakis, M. Bravenboer, and O. Lhoták, "Pick your contexts well: Understanding object-sensitivity," ser. POPL '11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann, "The DaCapo benchmarks: Java benchmarking development and analysis."Google ScholarGoogle Scholar
  11. A. Milanova, A. Rountev, and B. G. Ryder, "Parameterized object sensitivity for points-to analysis for java," ACM Trans. Softw. Eng. Methodol., vol. 14, no. 1, Jan. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Article Metrics

    • Downloads (Last 12 months)21
    • Downloads (Last 6 weeks)2

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!