Advertisement

Heterogeneous Fixed Points with Application to Points-To Analysis

  • Aditya Kanade
  • Uday Khedker
  • Amitabha Sanyal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3780)

Abstract

Many situations can be modeled as solutions of systems of simultaneous equations. If the functions of these equations monotonically increase in all bound variables, then the existence of extremal fixed point solutions for the equations is guaranteed. Among all solutions, these fixed points uniformly take least or greatest values for all bound variables. Hence, we call them homogeneous fixed points. However, there are systems of equations whose functions monotonically increase in some variables and decrease in others. The existence of solutions of such equations cannot be guaranteed using classical fixed point theory. In this paper, we define general conditions to guarantee the existence and computability of fixed point solutions of such equations. In contrast to homogeneous fixed points, these fixed points take least values for some variables and greatest values for others. Hence, we call them heterogeneous fixed points. We illustrate heterogeneous fixed point theory through points-to analysis.

Keywords

Partial Order Function Vector Point Theory Dependence Graph Point Solution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Choi, J.-D., Burke, M., Carini, P.: Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects. In: POPL 1993: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 232–245. ACM Press, New York (1993)CrossRefGoogle Scholar
  2. 2.
    Cousot, P.: Constructive design of a hierarchy of semantics of a transition system by abstract interpretation. Theoretical Computer Science 277(1–2), 47–103 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Emami, M.: A practical interprocedural alias analysis for an optimizing/parallelizing C compiler. Master’s thesis, School of Computer Science, McGill University, Montreal (1993)Google Scholar
  4. 4.
    Emami, M., Ghiya, R., Hendren, L.J.: Context-sensitive interprocedural points-to analysis in the presence of function pointers. In: PLDI 1994: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, pp. 242–256. ACM Press, New York (1994)CrossRefGoogle Scholar
  5. 5.
    Feferman, S.: Formal theories for transfinite iterations of generalized inductive definitions and some subsystems of analysis. In: Kino, A., Myhill, J., Vesley, R.E. (eds.) Intuitionism and Proof Theory: Proceedings of the Summer Conference at Buffalo, N.Y. Studies in Logic and the Foundations of Mathematics, pp. 303–326. North-Holland, Amsterdam (1968)Google Scholar
  6. 6.
    Giacobazzi, R., Mastroeni, I.: Compositionality in the puzzle of semantics. In: Proc. of the ACM SIGPLAN Symp. on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 2002), pp. 87–97. ACM Press, New York (2002)Google Scholar
  7. 7.
    Hind, M., Burke, M., Carini, P., Choi, J.-D.: Interprocedural pointer alias analysis. ACM Trans. Program. Lang. Syst. 21(4), 848–894 (1999)CrossRefGoogle Scholar
  8. 8.
    Hitchcock, P., Park, D.: Induction rules and termination proofs. In: Nivat, M. (ed.) Proceedings 1st Symp. on Automata, Languages, and Programming, ICALP 1972, Amsterdam, July 3–7, pp. 225–251 (1973)Google Scholar
  9. 9.
    Kanade, A., Khedker, U., Sanyal, A.: Equivalence of may-must and definite-possibly points-to analyses. Dept. Computer Science and Engg., Indian Institute of Technology, Bombay (April 2005), http://www.cse.iitb.ac.in/~aditya/reports/equivalence-points-to.ps
  10. 10.
    Kanade, A., Sanyal, A., Khedker, U.: Heterogeneous fixed points. Technical Report TR-CSE-001-05, Dept. Computer Science and Engg., Indian Institute of Technology, Bombay (January 2005), http://www.cse.iitb.ac.in/~aditya/reports/TR-CSE-001-05.ps
  11. 11.
    Khedker, U.: Data Flow Analysis. In: The Compiler Design Handbook: Optimizations and Machine Code Generation. CRC Press, Boca Raton (2002)Google Scholar
  12. 12.
    Kildall, G.A.: A unified approach to global program optimization. In: Conference Record of the ACM Symposium on Principles of Programming Languages, October 1973, pp. 194–206. Boston, Massachusetts (1973)Google Scholar
  13. 13.
    Kleene, S.C.: Introduction to Mathematics. D. Van Nostrand (1952)Google Scholar
  14. 14.
    Knaster, B.: Une théorème sur les fonctions d’ensembles. Annales Soc. Polonaise Math. 6, 133–134 (1928)Google Scholar
  15. 15.
    Larus, J.R., Hilfinger, P.N.: Detecting conflicts between structure accesses. In: PLDI 1988: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, pp. 24–31. ACM Press, New York (1988)CrossRefGoogle Scholar
  16. 16.
    Scott, D., de Bakker, J.W.: A theory of programs. Unpublished notes, IBM seminar, Vienna (1969)Google Scholar
  17. 17.
    Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics 5, 285–309 (1955)zbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Aditya Kanade
    • 1
  • Uday Khedker
    • 1
  • Amitabha Sanyal
    • 1
  1. 1.Department of Computer Science and EngineeringIndian Institute of TechnologyBombay

Personalised recommendations