Optimizing Pointer Analysis Using Bisimilarity

  • Luke Simon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5673)

Abstract

We introduce a new technique for dramatically improving the performance of inclusion-based points-to analysis, by using bisimilarity in order to detect pointer equivalences before constraint resolution. We present the design and correctness proof of this technique, along with an implementation prototype, and a series of benchmarks. The benchmarks indicate that our technique dramatically improves the scalability of inclusion-based points-to analysis, beating the current leading offline optimizations for inclusion-based points-to analysis.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D. (eds.): Compilers: principles, techniques, and tools, 2nd edn. Pearson/Addison Wesley, Boston (2007)MATHGoogle Scholar
  2. 2.
    Andersen, L.O.: Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen (DIKU report 94/19) (May 1994)Google Scholar
  3. 3.
    Berndl, M., Lhoták, O., Qian, F., Hendren, L., Umanee, N.: Points-to analysis using BDDs. ACM SIGPLAN Notices 38(5), 103–114 (2003)CrossRefGoogle Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  5. 5.
    Cleaveland, R.: The concurrency workbench: A semantics-based verification tool for the verification of concurrent systems. ACM Transactions on Programming Languages and Systems 15(1), 36–72 (1993)CrossRefGoogle Scholar
  6. 6.
    Dovier, A., Piazza, C., Policriti, A.: An efficient algorithm for computing bisimulation equivalence. Theor. Comput. Sci. 311(1-3), 221–256 (2004)MathSciNetMATHGoogle Scholar
  7. 7.
    Fähndrich, M., Foster, J.S., Su, Z., Aiken, A.: Partial online cycle elimination in inclusion constraint graphs. ACM SIGPLAN Notices 33(5), 85–96 (1998)CrossRefGoogle Scholar
  8. 8.
    Focardi, R., Gorrieri, R.: The compositional security checker: A tool for the verification of information flow security properties. IEEE Trans. Software Eng. 23(9), 550–571 (1997)CrossRefGoogle Scholar
  9. 9.
    Hardekopf, B., Lin, C.: The ant and the grasshopper: fast and accurate pointer analysis for millions of lines of code. In: Ferrante, J., McKinley, K.S. (eds.) PLDI, pp. 290–299. ACM Press, New York (2007)Google Scholar
  10. 10.
    Hardekopf, B., Lin, C.: Exploiting pointer and location equivalence to optimize pointer analysis. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 265–280. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Heintze, N., Tardieu, O.: Ultra-fast aliasing analysis using CLA: A million lines of C code in a second. ACM SIGPLAN Notices 36(5), 254–263 (2001)CrossRefGoogle Scholar
  12. 12.
    Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: CIL: Intermediate language and tools for analysis and transformation of C programs. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 213–228. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Nuutila, E., Soisalon-Soininen, E.: On finding the strongly connected components in a directed graph. Information Processing Letters 49, 9–14 (1993)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Paige, R., Tarjan, R.E.: Three partition refinement algorithms. SIAM J. Comput. 16(6), 973–989 (1987)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Pearce, D.J., Kelly, P.H.J., Hankin, C.: Efficient field-sensitive pointer analysis for C. In: Flanagan, C., Zeller, A. (eds.) PASTE, pp. 37–42. ACM Press, New York (2004)Google Scholar
  16. 16.
    Pearce, D.J., Kelly, P.H.J., Hankin, C.: Efficient field-sensitive pointer analysis of C. ACM Transactions on Programming Languages and Systems 30(1), 4:1–4:42 (2007)CrossRefGoogle Scholar
  17. 17.
    Rountev, A., Chandra, S.: Off-line variable substitution for scaling points-to analysis. ACM SIGPLAN Notices 35(5), 47–56 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Luke Simon
    • 1
  1. 1.Metallect Corp.PlanoUSA

Personalised recommendations