Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Global Data Flow Analysis and Iterative Algorithms

Published: 01 January 1976 Publication History

Abstract

Kildall has developed data propagation algorithms for code optimization in a general lattice theoretic framework. In another direction, Hecht and Ullman gave a strong upper bound on the number of iterations required for propagation algorithms when the data is represented by bit vectors and depth-first ordering of the flow graph is used. The present paper combines the ideas of these two papers by considering conditions under which the bound of Hecht and Ullman applies to the depth-first version of Kildall's general data propagation algorithm. It is shown that the following condition is necessary and sufficient: Let ƒ and g be any two functions which could be associated with blocks of a flow graph, let x be an arbitrary lattice element, and let 0 be the lattice zero. Then (*) (∀ƒ,g,x) [ƒg(0) ≥ g(0) ∧ ƒ(x) ∧ x]. Then it is shown that several of the particular instances of the techniques Kildall found useful do not meet condition (*).

References

[1]
AHO, A V., AND ULmSAN, J.D The Theory of Parsing, Translat,on and Compiling, Vol. II" Compding. Prentice-Hall, Englewood Cliffs, N J., 1973
[2]
ALLEN, F.E. Program optnni~atlon. Annual Review m Automatic Programming, Vol. 5, Pergamon Press, New York, 1969, 239-307.
[3]
ALLEN, F.E. Control flow analysm SIGPLAN Notices 5, 7 (July 1970), 1-19.
[4]
COCKE, J Global common subexpression elnnination SIGPLAN Nohces 5, 7 (July 1970), 20-24.
[5]
HECHT, M.S., AN}) ULLMAN, J.D. Analysis of a simple algorithm for global flow problems. Proc. ACM Conf. on Principles of Programming Languages, Oct. 1973, pp. 207-217.
[6]
HECHT, M S., AND ULLMAN, J D Characterizations of reducible flow graphs. J. ACM 21, 3 (July 1974), 367-375.
[7]
HOPCROFT, J.E, AND TARJAN, R.E. Algorithm 447--Efficmnt algorithms for graph mampulation. Comm ACM 16, 6 (June 1973), 372-378.
[8]
KAM, J.B., AN}) ULLMAN, J D Monotone data flow analysis frameworks TR-169, Dep. of Elec. Eng., Computer Sciences Lab., Princeton U., Princeton, N J, Jan 1975
[9]
KENNEDY, K A global flow analysis algorithm lnt J Computer Math. 3, 1 (Dec 1971), 5-15.
[10]
KILDALL, G A Global expression optimization during compilation. TR 724)6-02, Computer Scl Group, U. of Washington, Seattle, Wash, June 1972. See also Proc. ACM Conf. on Principles of Programming Languages, Oct. 1973, pp 194-206
[11]
KNUTH, D.E. An empirmal study of FORTRAN programs. Software Pratt and Exper. 1, 2 (April 1971), 105-134
[12]
SCHAEFER, M. A Malhemahcal Theory of Global Flow Analysis Prentice-Hall, Englewood Chffs, N J., 1973.
[13]
ULLMAN, J D Fast algorithms for the elimination of commonsubexpressions Acta Informatwa Z, 3 (Dec. 1973), 191-213
[14]
VYSSOTSKY, V.A. Private communication to M.S. Hecht, June 1973

Cited By

View all
  • (2024)Verifying the Option Type with Rely-Guarantee ReasoningProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695036(367-380)Online publication date: 27-Oct-2024
  • (2024)Convergence of datalog over (Pre-) SemiringsJournal of the ACM10.1145/364302771:2(1-55)Online publication date: 10-Apr-2024
  • (2024)Augmenting Interpolation-Based Model Checking with Auxiliary InvariantsModel Checking Software10.1007/978-3-031-66149-5_13(227-247)Online publication date: 13-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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: 01 January 1976
Published in JACM Volume 23, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)302
  • Downloads (Last 6 weeks)43
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Verifying the Option Type with Rely-Guarantee ReasoningProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695036(367-380)Online publication date: 27-Oct-2024
  • (2024)Convergence of datalog over (Pre-) SemiringsJournal of the ACM10.1145/364302771:2(1-55)Online publication date: 10-Apr-2024
  • (2024)Augmenting Interpolation-Based Model Checking with Auxiliary InvariantsModel Checking Software10.1007/978-3-031-66149-5_13(227-247)Online publication date: 13-Oct-2024
  • (2024)A Review of Code Vulnerability Detection Techniques Based on Static AnalysisComputational and Experimental Simulations in Engineering10.1007/978-3-031-44947-5_21(251-272)Online publication date: 25-Jan-2024
  • (2023)BigDataflow: A Distributed Interprocedural Dataflow Analysis FrameworkProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616348(1431-1443)Online publication date: 30-Nov-2023
  • (2023)More Fixpoints! (Functional Pearl)Proceedings of the ACM on Programming Languages10.1145/36078537:ICFP(686-710)Online publication date: 31-Aug-2023
  • (2023)Program completeness verification mechanism based on static analysisInternational Conference on Computer Network Security and Software Engineering (CNSSE 2023)10.1117/12.2683176(18)Online publication date: 26-Jun-2023
  • (2023)An Integrated Program Analysis Framework for Graduate Courses in Programming Languages and Software Engineering2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00101(598-610)Online publication date: 11-Sep-2023
  • (2023)BibliographyEngineering a Compiler10.1016/B978-0-12-815412-0.00023-1(793-813)Online publication date: 2023
  • (2023)Data-Flow AnalysisEngineering a Compiler10.1016/B978-0-12-815412-0.00015-2(449-516)Online publication date: 2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media