Propagating differences: An efficient new fixpoint algorithm for distributive constraint systems

  • Christian Fecht
  • Helmut Seidl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1381)


Integrating semi-naive fixpoint iteration from deductive data bases [3,2,4] as well as continuations into worklist-based solvers, we derive a new application independent local fixpoint algorithm for distributive constraint systems. Seemingly different efficient algorithms for abstract interpretation like those for linear constant propagation for imperative languages [17] as well as for control-flow analysis for functional languages [13] turn out to be instances of our scheme. Besides this systematizing contribution we also derive a new efficient algorithm for abstract OLDT-resolution as considered in [15,16, 25] for Prolog.


Constraint System Computation Tree Abstract Interpretation Variable Assignment Program Point 
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.


  1. 1.
    M. Alt and F. Martin. Generation of Efficient Interprocedural Analyzers with PAG. In 2nd SAS, 33–50. LNCS 983, 1995.Google Scholar
  2. 2.
    I. Balbin and K. Ramamohanarao. A Generalization of the Differential Approach to Recursive Query Evaluation. JLP, 4(3):259–262, 1987.MathSciNetGoogle Scholar
  3. 3.
    F. Bancilhon and R. Ramakrishnan. An Amateur's Introduction to Recursive Query Processing Strategies. In ACM SIGMOD Conference 1986, 16–52, 1986.Google Scholar
  4. 4.
    F. Bancilhon and R. Ramakrishnan. Performance Evaluation of Data Intensive Logic Programs. In Jack Minker, editor, Foundations of Deductive Databases and Logic Programming, chapter 12, 439–517. Morgan Kaufmann Publishers, 1988.Google Scholar
  5. 5.
    B. Le Charlier and P. Van Hentenryck. A Universal Top-Down Fixpoint Algorithm. Technical Report CS-92-25, Brown University, Providence, RI 02912, 1992.Google Scholar
  6. 6.
    B. Le Charlier and P. Van Hentenryck. Experimental Evaluation of a Generic Abstract Interpretation Algorithm for Prolog. A CM TOPLAS, 16(1):35–101, 1994.CrossRefGoogle Scholar
  7. 7.
    M. Codish, D. Dams, and E, Yardeni. Derivation of an Abstract Unification Algorithm for groundnes and Aliasing Analysis. In ICLP, 79–93, 1991.Google Scholar
  8. 8.
    P. Cousot and R. Cousot. Static Determination of Dynamic Properties of Recursive Programs. In E.J. Neuhold, editor, Formal Descriptions of Programming Concepts, 237–277. North-Holland Publishing Company, 1977.Google Scholar
  9. 9.
    V. Englebert, B. Le Charlier, D. Roland, and P. Van Hentenryck. Generic Abstract Interpretation Algorithms for Prolog: Two Optimization Techniques and their Experimental Evaluation. SPE, 23(4):419–459, 1993.Google Scholar
  10. 10.
    C. Fecht. GENA-A Tool for Generating Prolog Analyzers from Specifications. 2nd SAS, 418–419. LNCS 983, 1995.Google Scholar
  11. 11.
    C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, Saarbrücken, 1997.Google Scholar
  12. 12.
    C. Fecht and H. Seidl. An Even Faster Solver for General Systems of Equations. 3rd SAS, 189–204. LNCS 1145, 1996. Extended version to appear in SCP'99.Google Scholar
  13. 13.
    N. Heintze. Set-Based Analysis of ML Programs. ACM Conf. LFP, 306–317, 1994.Google Scholar
  14. 14.
    N. Heintze and D.A. McAllester. On the Cubic Bottleneck in Subtyping and Flow Analysis. IEEE Symp. LICS, 342–351, 1997.Google Scholar
  15. 15.
    P. Van Hentenryck, 0. Degimbe, B. Le Charlier, and L. Michel. Abstract Interpretation of Prolog Based on OLDT Resolution. Technical Report CS-93-05, Brown University, Providence, RI 02912, 1993.Google Scholar
  16. 16.
    P. Van Hentenryck, O. Degimbe, B. Le Charlier, and L. Michel. The Impact of Granularity in Abstract Interpretation of Prolog. 3rd WSA, 1–14. LNCS 724, 1993.Google Scholar
  17. 17.
    S. Horwitz, T.W. Reps, and M. Sagiv. Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation. 6th TAPSOFT, 651–665. LNCS 915, 1995.Google Scholar
  18. 18.
    S. Horwitz, T.W. Reps, and M. Sagiv. Precise Interprocedural Dataflow Analysis via Graph Reachability. 22nd POPL, 49–61, 1995.Google Scholar
  19. 19.
    D. Melski and T.W. Reps. Interconvertability of Set Constraints and Context-Free Language Reachability. ACM SIGPLAN Symp. PEPM, 74–89, 1997.Google Scholar
  20. 20.
    K. Muthukumar and M. V. Hermenegildo. Compile-Time Derivation of Variable Dependency Using Abstract Interpretation. JLP, 13(2&3):315–347, 1992.Google Scholar
  21. 21.
    H. Riis Nielson and F. Nielson. Infinitary Control Flow Analysis: A Collecting Semantics for Closure Analysis. 24th POPL, 332–345, 1997.Google Scholar
  22. 22.
    R. Paige. Symbolic Finite Differencing-Part I. 3rd ESOP, 36–56. LNCS 432, 1990.zbMATHMathSciNetGoogle Scholar
  23. 23.
    J. Palsberg. Closure Analysis in Constraint Form. A CM TOPLAS, 17:47–82, 1995.CrossRefGoogle Scholar
  24. 24.
    J. Palsberg and P. O'Keefe. A Type System Equivalent to Flow Analysis. ACM TOPLAS, 17:576–599, 1995.CrossRefGoogle Scholar
  25. 25.
    H. Seidl and C. Fecht. Interprocedural Analysis Based on PDAs. Technical Report 97-06, University Trier, 1997. Extended Abstract in: Verification, Model Checking and Abstract Interpretation. A Workshop in Assiciation with ILPS'97.Google Scholar
  26. 26.
    H. Seidl and M.H. S0rensen. Constraints to Stop Higher-Order Deforestation. 24th POPL, 400–413, 1997.Google Scholar
  27. 27.
    H. S0ndergaard. An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction. 1st ESOP, 327–338. LNCS 213, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Christian Fecht
    • 1
  • Helmut Seidl
    • 2
  1. 1.Universität des SaarlandesSaarbrückenGermany
  2. 2.Fachbereich IV - InformatikUniversität TrierTrierGermany

Personalised recommendations