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

Interconvertbility of set constraints and context-free language reachability

Published: 01 December 1997 Publication History
  • Get Citation Alerts
  • Abstract

    We show the interconvertibility of context-free-language reachability problems and a class of set-constraint problems: given a context-free-language reachability problem, we show how to construct a set-constraint problem whose answer gives a solution to the reachability problem; given a set-constraint problem, we show how to construct a context-free-language reachability problem whose answer gives a solution to the set-constraint problem. The interconvertibility of these two formalisms offers an conceptual advantage akin to the advantage gained from the interconvertibility of finite-state automata and regular expressions in formal language theory, namely, a problem can be formulated in whichever formalism is most natural. It also offers some insight into the "O(n3) bottleneck" for different types of program-analysis problems, and allows results previously obtained for context-free-language reachability problems to be applied to set-constraint problems.

    References

    [1]
    D. Callahan. The program summary graph and flow-sensitive interprocedural data flow analysis. In SIGPLAN Conference on Programming Languages Design and Implementation, pages 47'-56, 1988.
    [2]
    K.D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In SIGPLAN Conference on Pro- 9ramming Languages Design and Implementation, pages 57- 66, 1988.
    [3]
    K.D. Cooper and K. Kennedy. Fast interprocedural alias analysis. In A CM Symposium on Principles of Programming Languages, pages 49-59, 1989.
    [4]
    M. J. Fischer and A. R. Meyer. Boolean matrix multiplication and transitive closure. In Conference Record of the IEEE 12th Symposium on Switching and Automata Theory, 1971.
    [5]
    F. G~cseg and M. Steinby. Tree Automata. Akad(!miai KiadS, 1984.
    [6]
    M.S. Hecht. Flow Analysis of Computer Programs. North- Holland, 1977.
    [7]
    N. Heintze. Set-based program analysis. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, October 1992.
    [8]
    N. Heintze. Set based analyis of ML programs. Technical Report CMU-CS-93-193, Carnegie Mellon University, 1993.
    [9]
    N. Heintze and J. Jaffar. A decision procedure for a class of set constraints. Technical Report CMU-CS-91-110, Carnegie Mellon University, 1991.
    [10]
    N. Heintze and D. McAIlester. Linear-time subtransitive control flow analysis. In SIGPLAN Conference on Programming Languages Design and Implementation, 1997.
    [11]
    N. Heintze and D. McAllester. On the cubic bottleneck in subtyping and flow analysis. In LICS '97: Proceedings of the IEEE Symposium on Logic in Computer Science, 1997.
    [12]
    S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. In SIGPLAN Conference on Programming Languages Design and implementation, pages 35-46, 1988.
    [13]
    S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. A CM Transactions on Programming Languages and Systems, 12(1):26--60, January 1990.
    [14]
    S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural dataflow analysis. In Proceedings of the Fourth A CM SIG- SOFT Symposium on the Foundations of Software Engineering, pages 104-115, October 1995. (Available on the WWW from URL http://www.cs.wisc.edu/wpis/papers/fse95.ps).
    [15]
    S. Horwitz, T. Reps, M. Sagiv, and G. Rosay. Speeding up slicing. In Proceedings of the Third A CM SIGSOFT Symposium on the Foundations o} Software Engineering, pages 11-20, December 1994. (Available on the WWW from URL http://www.cs, wisc.edu / wpis / papers / fse94.ps).
    [16]
    N. D. Jones and W. T. Looser. Complete problems for deterministic polynomial time. Theoretical Computer Science 3, pages 105-117, 1977.
    [17]
    N.D. Jones and S.S. Muchnick. Flow analysis and optimization of Lisp-like structures. In S.S. Muchnick and N.D. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 4, pages 102-131. Prentice-Hall, 1981.
    [18]
    U.P. Khedker and D.M. Dhamdhere. A generalized theory of bit vector data flow analysis. A CM Transactions on Programming Languages and Systems, 16(5):1472-1511, September 1994.
    [19]
    L.T. Kou. On live-dead analysis for global data flow problems. J. A CM, 24(3):473-483, July 1977.
    [20]
    D. McAllester and N. Heintze. On the complexity of setbaaed analysis. In ICFP '97: Proceedings of the Second A CM SIGPLAN International Conference on Functional Programming, 1997.
    [21]
    T. Reps. Demand interprocedurai program analysis using logic databases. In R. Ramakrishnan, editor, Applications of Logic Databases. Kluwer Academic Publishers, 1994.
    [22]
    T. Reps. Shape analysis as a generalized path problem. In PEPM '95: Proceedings of the A CM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, New York, NY, 1995. ACM.
    [23]
    T. Reps. On the sequential nature of interprocedural program-analysis problems. Acta Inf., 33:739-757, 1996.
    [24]
    T. Reps, S. Horwitz, and M. Sagiv. Precise interprocedural dataflow analysis via graph teachability. In A CM Symposium on Principles of Programming Languages, pages 49--61, 1995. (Available on the WWW from URL htt0://www.cs.wisc.edu/wpis/papers/pop195.ps).
    [25]
    T. Reps, M. Sagiv, and S. Horwitz. Interprocedural dataflow analysis via graph reachability. Technical Report TR 94-14, Datalogisk Institut, University of Copenhagen, 1994. (Available on the WWW from URL http://www .cs. wisc.ed u/wpis / papers / dik u- t r94-14.ps).
    [26]
    J.C. Reynolds. Automatic computation of data set definitions. In Information Processing 68: Proceedings of the IFIP Congress, pages 456-461, New York, NY, 1968. North- Holland.
    [27]
    M. Shaxir 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, chapter 7, pages 189-234. Prentice-Hall, 1981.
    [28]
    M. Yannakakis. Graph-theoretic methods in database theory. In Proceedings of the Symposium on Principles of Database Systems, pages 230-242, 1990.

    Cited By

    View all
    • (2024)Iterative-Epoch Online Cycle Elimination for Context-Free Language ReachabilityProceedings of the ACM on Programming Languages10.1145/36498628:OOPSLA1(1437-1462)Online publication date: 29-Apr-2024
    • (2023)Recursive State Machine Guided Graph Folding for Context-Free Language ReachabilityProceedings of the ACM on Programming Languages10.1145/35912337:PLDI(318-342)Online publication date: 6-Jun-2023
    • (2019)Scalable context-sensitive flow analysis using instantiation constraintsACM SIGPLAN Notices10.1145/358438.34933235:5(253-263)Online publication date: 5-Jun-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 32, Issue 12
    Dec. 1997
    217 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/258994
    Issue’s Table of Contents
    • cover image ACM Conferences
      PEPM '97: Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
      December 1997
      217 pages
      ISBN:0897919173
      DOI:10.1145/258993
    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 December 1997
    Published in SIGPLAN Volume 32, Issue 12

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)98
    • Downloads (Last 6 weeks)16
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Iterative-Epoch Online Cycle Elimination for Context-Free Language ReachabilityProceedings of the ACM on Programming Languages10.1145/36498628:OOPSLA1(1437-1462)Online publication date: 29-Apr-2024
    • (2023)Recursive State Machine Guided Graph Folding for Context-Free Language ReachabilityProceedings of the ACM on Programming Languages10.1145/35912337:PLDI(318-342)Online publication date: 6-Jun-2023
    • (2019)Scalable context-sensitive flow analysis using instantiation constraintsACM SIGPLAN Notices10.1145/358438.34933235:5(253-263)Online publication date: 5-Jun-2019
    • (2016)JSPCheckerProceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security10.1145/2993600.2993606(57-68)Online publication date: 24-Oct-2016
    • (2008)Type-based flow analysis and context-free language reachabilityMathematical Structures in Computer Science10.1017/S096012950800696818:05(823)Online publication date: 6-Oct-2008
    • (2008)A Scalable Inclusion Constraint Solver Using UnificationLogic-Based Program Synthesis and Transformation10.1007/978-3-540-78769-3_9(121-137)Online publication date: 28-Nov-2008
    • (2006)Propagating differences: An efficient new fixpoint algorithm for distributive constraint systemsProgramming Languages and Systems10.1007/BFb0053565(90-104)Online publication date: 23-May-2006
    • (2000)Scalable context-sensitive flow analysis using instantiation constraintsProceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation10.1145/349299.349332(253-263)Online publication date: 1-Aug-2000
    • (1998)Program analysis via graph reachabilityInformation and Software Technology10.1016/S0950-5849(98)00093-740:11-12(701-726)Online publication date: Dec-1998
    • (2024)Dynamic Transitive Closure-based Static Analysis through the Lens of Quantum SearchACM Transactions on Software Engineering and Methodology10.1145/364438933:5(1-29)Online publication date: 4-Jun-2024
    • 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

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media