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

A framework for generalized control dependence

Published: 01 May 1996 Publication History

Abstract

We generalize the notion of dominance by defining a generalized dominance relation with respect to a set of paths in the control flow graph G = (V, E). This new definition leads to a generalized notion of control dependence, which includes standard control dependence and weak control dependence as special cases.If the set of paths underlying a generalized dominance relation satisfies some natural closure conditions, that dominance relation is tree-structured. Given this tree, the corresponding control dependence relation can be computed optimally by reduction to the Roman Chariots Problem, which we have developed previously for computing standard control dependence. More precisely, given linear preprocessing time and space, we can answer the (generalized version of the) so called cd, conds, and cdequiv queries in time proportional to the output of the query.To illustrate the utility of the framework, we show how weak control dependence can be computed optimally in O(|E|) preprocessing space and time. This improves the O(|V|3) time required by the best previous algorithm for this problem.

References

[1]
Micah Beck, Richard Johnson, and Keshav Pingall. From control flow to datafiow, journal o.f Paeallel and Distributed Coraputi~9, 12:118- 129, 1991.
[2]
Robert Ballance and Arthur McCabe. Program dependence graphs for the rest of us. Technical Report 92-10, University of New Mexico, October 1992.
[3]
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACId Transactions on Programming Languages and Systems, 13(4):451- 490, October 1991.
[4]
Ron Cytron, Jeanne Ferrante, and Vivek Sarkar. Compact representations for control dependence, in Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, pages 337-351, White Plains, New York, June 20-22, 1990.
[5]
Thomas Cormen, Charles Leiserson, and Ronald Rivest. Introduction to Algorithms. The MiT Press, Cambridge, MA, 1992.
[6]
J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependency graph and its uses in optimization. A CM Transactions on Programming Languages and Systems, 9(3):319- 349, June 1987.
[7]
D. Harel. A linear time algorithm for finding dominators in fiowgraphs and related problems. in Proceedings of the 17th ACM Symposium on Theory of Computing, pages 185-194, Providence, Rhode Island, May 6-8, 1985.
[8]
Dov Harel and Robert Endre Tarjan. Fast algorithms for finding nearest common ancestors. Siam Journal of Computing, 13(4):338- 355, 1984.
[9]
Thomas Lengauer and Robert Endre Tarjan. A fast algorithm for finding dominators in a fiowgraph. A CM Transactions on Program. July 1979.
[10]
Keshav Pingali and Gianfranco Bilardi. APT: A data structure for optimal control dependence computation. In Proceedings of the A CM Conference on Programming Language Design and Implementation, June 1995.
[11]
Andy Podgurski and Lori Clarke. A formal model of program dependences and its implications for software testing, debugging and maintenance. IEEE Transactions on Software Engineering, 16(9):965-979, Septmeber 1990.
[12]
Andrew Podgurski. The significance of program dependences for software testing, debugging and maintenance. PhD thesis, University of Massachusetts, Amherst, 1989.
[13]
Vugranam C. Sreedhar and Guang R. Gao. A linear time algorithm for placing ~nodes. In Conference Record of POPL '95: 22nd ACId SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 62-73, San Francisco, California, January 1995.
[14]
Robert E. Tarjan. Depth first search and linear graph algorithms. SiAM Journal of Computing, 1(2):146-160, 1972.
[15]
Michael Weiss. The transitive closure of control dependence: The iterated join. ACM Letters on Programming Languages and Systems, 1(2):178- 190, June 1992.

Cited By

View all
  • (2023)The Duality in Computing SSA Programs and Control DependencyIEEE Transactions on Software Engineering10.1109/TSE.2022.319224949:4(1766-1781)Online publication date: 1-Apr-2023
  • (2023)Efficient computation of arbitrary control dependenciesTheoretical Computer Science10.1016/j.tcs.2023.114029969(114029)Online publication date: Aug-2023
  • (2022)On the computation of interprocedural weak control closureProceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction10.1145/3497776.3517782(65-76)Online publication date: 19-Mar-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 31, Issue 5
May 1996
300 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/249069
Issue’s Table of Contents
  • 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
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 May 1996
Published in SIGPLAN Volume 31, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)66
  • Downloads (Last 6 weeks)5
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)The Duality in Computing SSA Programs and Control DependencyIEEE Transactions on Software Engineering10.1109/TSE.2022.319224949:4(1766-1781)Online publication date: 1-Apr-2023
  • (2023)Efficient computation of arbitrary control dependenciesTheoretical Computer Science10.1016/j.tcs.2023.114029969(114029)Online publication date: Aug-2023
  • (2022)On the computation of interprocedural weak control closureProceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction10.1145/3497776.3517782(65-76)Online publication date: 19-Mar-2022
  • (2022)Efficient computation of minimal weak and strong control closureJournal of Systems and Software10.1016/j.jss.2021.111140184:COnline publication date: 3-Jan-2022
  • (2022)Fast and Incremental Computation of Weak Control ClosureStatic Analysis10.1007/978-3-031-22308-2_15(325-349)Online publication date: 5-Dec-2022
  • (2020)Simple and Efficient Computation of Minimal Weak Control ClosureStatic Analysis10.1007/978-3-030-65474-0_10(200-222)Online publication date: 18-Nov-2020
  • (2018)Fast Computation of Arbitrary Control DependenciesFundamental Approaches to Software Engineering10.1007/978-3-319-89363-1_12(207-224)Online publication date: 4-Apr-2018
  • (2017)Control Dependencies in Interpretive SystemsRuntime Verification10.1007/978-3-319-67531-2_19(312-329)Online publication date: 6-Sep-2017
  • (2012)Mesh independent loop fusion for unstructured mesh applicationsProceedings of the 9th conference on Computing Frontiers10.1145/2212908.2212917(43-52)Online publication date: 15-May-2012
  • (2012)Automated verification and testing of user-interactive undo features in database applicationsSoftware Testing, Verification & Reliability10.1002/stvr.43922:4(245-265)Online publication date: 1-Jun-2012
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media