Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2351676.2351720acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article

Fast and precise points-to analysis with incremental CFL-reachability summarisation: preliminary experience

Published: 03 September 2012 Publication History

Abstract

We describe our preliminary experience in the design and implementation of a points-to analysis for Java, called EMU, that enables developers to perform pointer-related queries in programs undergoing constant changes in IDEs. EMU achieves fast response times by adopting a modular approach to incrementally updating method summaries upon small code changes: the points-to information in a method is summarised indirectly by CFL reachability rather than directly by points-to sets. Thus, the impact of a small code change made in a method is localised, requiring only its affected part to be re-summarised just to reflect the change. EMU achieves precision by being context-sensitive (for both method invocation and heap abstraction) and field-sensitive. Our evaluation shows that EMU can be promisingly deployed in IDEs where the changes are small.

References

[1]
N. Heintze and O. Tardieu. Demand-driven pointer analysis. In PLDI’01 .
[2]
V. Kahlon. Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysis. In PLDI’08.
[3]
J. Kodumal and A. Aiken. Banshee: A scalable constraint-based analysis toolkit. In SAS’05.
[4]
T. Reps. Program analysis via graph reachability. In ILPS’97.
[5]
D. Saha and C. Ramakrishnan. Incremental and demand-driven points-to analysis using logic programming. In PPDP’05.
[6]
L. Shang, X. Xie, and J. Xue. On-demand dynamic summary-based points-to analysis. In CGO’12.
[7]
M. Sridharan and R. Bodík. Refinement-based context-sensitive points-to analysis for Java. In PLDI’06.
[8]
J. Whaley and M. S. Lam. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In PLDI’04.
[9]
D. Yan, G. Xu, and A. Rountev. Demand-driven context-sensitive alias analysis for Java. In ISSTA’11.
[10]
H. Yu, J. Xue, W. Huo, X. Feng, and Z. Zhang. Level by level: making flow- and context-sensitive pointer analysis scalable for millions of lines of code. In CGO’10.
[11]
J.-S. Yur, B. G. Ryder, and W. Landi. An incremental flow- and context-sensitive pointer aliasing analysis. In ICSE’99.

Cited By

View all
  • (2023)Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static AnalysisProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598042(114-126)Online publication date: 12-Jul-2023
  • (2022)SHARP: fast incremental context-sensitive pointer analysis for JavaProceedings of the ACM on Programming Languages10.1145/35273326:OOPSLA1(1-28)Online publication date: 29-Apr-2022
  • (2020)Incremental Flow Analysis through Computational Dependency Reification2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM51674.2020.00008(25-36)Online publication date: Sep-2020
  • Show More Cited By

Index Terms

  1. Fast and precise points-to analysis with incremental CFL-reachability summarisation: preliminary experience

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ASE '12: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
      September 2012
      409 pages
      ISBN:9781450312042
      DOI:10.1145/2351676
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      In-Cooperation

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 03 September 2012

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. CFL reachability
      2. Points-to analysis
      3. Summarisation

      Qualifiers

      • Article

      Conference

      ASE'12
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 82 of 337 submissions, 24%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)8
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 24 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Hybrid Inlining: A Framework for Compositional and Context-Sensitive Static AnalysisProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598042(114-126)Online publication date: 12-Jul-2023
      • (2022)SHARP: fast incremental context-sensitive pointer analysis for JavaProceedings of the ACM on Programming Languages10.1145/35273326:OOPSLA1(1-28)Online publication date: 29-Apr-2022
      • (2020)Incremental Flow Analysis through Computational Dependency Reification2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM51674.2020.00008(25-36)Online publication date: Sep-2020
      • (2019)Incremental precision-preserving symbolic inference for probabilistic programsProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314623(237-252)Online publication date: 8-Jun-2019
      • (2019)Rethinking Incremental and Parallel Pointer AnalysisACM Transactions on Programming Languages and Systems10.1145/329360641:1(1-31)Online publication date: 1-Mar-2019
      • (2018)D4: fast concurrency debugging with parallel differential analysisACM SIGPLAN Notices10.1145/3296979.319239053:4(359-373)Online publication date: 11-Jun-2018
      • (2018)D4: fast concurrency debugging with parallel differential analysisProceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3192366.3192390(359-373)Online publication date: 11-Jun-2018
      • (2018) Ripple : Reflection analysis for Android apps in incomplete information environments Software: Practice and Experience10.1002/spe.257748:8(1419-1437)Online publication date: 19-Apr-2018
      • (2017)Incremental Analysis for Probabilistic ProgramsStatic Analysis10.1007/978-3-319-66706-5_22(450-472)Online publication date: 19-Aug-2017
      • (2016)Eliminating Redundant Bounds Checks in Dynamic Buffer Overflow Detection Using Weakest PreconditionsIEEE Transactions on Reliability10.1109/TR.2016.257053865:4(1682-1699)Online publication date: Dec-2016
      • Show More Cited By

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media