skip to main content
10.1145/231379.231433acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Data flow frequency analysis

Published:01 May 1996Publication History

ABSTRACT

Conventional dataflow analysis computes information about what facts may or will not hold during the execution of a program. Sometimes it is useful, for program optimization, to know how often or with what probability a fact holds true during program execution. In this paper, we provide a precise formulation of this problem for a large class of dataflow problems --- the class of finite bi-distributive subset problems. We show how it can be reduced to a generalization of the standard dataflow analysis problem, one that requires a sum-over-all-paths quantity instead of the usual meet-overall-paths quantity. We show that Kildall's result expressing the meet-over-all-paths value as a maximal-fixed-point carries over to the generalized setting. We then outline ways to adapt the standard dataflow analysis algorithms to solve this generalized problem, both in the intraprocedural and the interprocedural case.

References

  1. 1.EE. Allen and J. Cocke. A program data flow analysis procedure. Commun. of the ACM, 19(3):137-147, March 1976.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.D. F. Bacon, M. Wegman, and K. Zadeck. Rapid type analysis for C++. Technical Report RC number pending, IBM T.J. Watson Research Center, 1996.]]Google ScholarGoogle Scholar
  3. 3.T. Ball and J.R. Lares. Optimally profiling and tracing programs. In Conference Record of the Nineteenth ACM Symposium on Principles of Programming Languages, pages 59-70, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Paul R. Carini, Michael Hind, and Harini Srinivasan. Flow-sensitive type analysis for C++. Technical Report RC 20267, iBM T.J. Watson Research Center, 1995.]]Google ScholarGoogle Scholar
  5. 5.T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.J. Dean, C. Chambers, and D. Grove. Selective specialization for object-oriented languages. In Proceedings of the ACM SIGPLAN '95 Conference on Programming Language Design and implementation, pages 93-102, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.M. Gondran and M. Minoux. Graphs and Algorithms. John Wiley and Sons, New York, 1984.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.J.B. Kam and j.D. Ullman. Global data flow analysis and iterative algorithms. J. ACM, 23:158-171, 1976.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.J.B. Kam and J.D. Ullman. Monotone data flow analysis frameworks. Acta lnformatica, 7:305-317, 1977.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.G. Kildall. A unified approach to global program optimization. In Conference Record of the First ACM Symposium on Principles of Programming Languages, pages 194-206, New York, NY, 1973. ACM.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.J. Knoop and B. Steffen. The interprocedural coincidence theorem. In U. Kastens and P. Pfahler, editors, Proceedings of the Fourth International Conference on Compiler Construction,Lecture Notes in Computer Science Vol. 641, pages 125-140. Springer Verlag, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Hemant D. Pande and Barbara G. Ryder. Static type determination for C++. in Proceedings of the Sixth Usenix C+ + Technical Conference, pages 85-97, April 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Hemant D. Pande and Barbara G. Ryder. Static type determination and aliasing for C++. Technical Report LCSR-TR-250, Department of Computer Science, Rutgers University, July 1995.]]Google ScholarGoogle Scholar
  14. 14.J.R.C. Patterson. Accurate static branch prediction by value range propagation. In Proceedings of the ACM SIGPLAN '95 Conference on Programming Language Design and implementation, pages 67-78, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.T. Proebsting and C. Fischer. Probabilistic register allocation. In Proceedings of the ACM SIGPLAN '92 Conference on Programming Language Design and Implementation, pages 300-310, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.C.V. Ramamoorthy. Discrete markov analysis of computer programs. In Proceedings of the ACM 20th National Conference, pages 386-391, 1965.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural datafiow analysis via graph teachability. In Conference Record of the Twenty-Second ACM Symposium on Principles of Programming Languages, pages 49-61, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.B. Ryder and M. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3), September 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.M. Sagiv, T. Reps, and S. Horwitz. Precise interprocedural dataftow analysis with applications to constant propagation. To appear in Theoretical Computer Science. (Also Technical Report CS-TR-95-1284, Computer Sciences Department, University of Wisconsin- Madison, 1995).]]Google ScholarGoogle Scholar
  20. 20.M. Sagiv, T. Reps, and S. Horwitz. Precise interprocedural datafiow analysis with applications to constant propagation, in Proceedings of FASE '95: Colloquium on Formal Approaches in Software Engineering, pages 651-665, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis, in S.S. Muchnick and N.D. Jones, editors, Program Flow Analysis : Theory and Applications, pages 189-233. Prentice-Hall, Englewood Cliffs, NJ, 1981.]]Google ScholarGoogle Scholar
  22. 22.R.E. Tarjan. Fast algorithms for solving path problems. J. ACM, 28:594-614, 1981.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.T.A. Wagner, V. Maverick, S.L. Graham, and M.A. Harrison. Accurate static estimators for program optimization, in Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, pages 85-96, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.Y. Wu and J.R. Larus. Static branch frequency and program profile analysis. In Proceedings of the 27th International Symposium on Microarchitecture, pages 1-1 l, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Data flow frequency analysis

            Recommendations

            Comments

            Login options

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

            Sign in
            • Published in

              cover image ACM Conferences
              PLDI '96: Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
              May 1996
              300 pages
              ISBN:0897917952
              DOI:10.1145/231379

              Copyright © 1996 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 May 1996

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              PLDI '96 Paper Acceptance Rate28of112submissions,25%Overall Acceptance Rate406of2,067submissions,20%

              Upcoming Conference

              PLDI '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader