An even faster solver for general systems of equations

  • Christian Fecht
  • Helmut Seidl
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1145)


We present a new algorithm which computes a partial approximate solution for a system of equations. It is local in that it considers as few variables as necessary in order to compute the values of those variables we are interested in, it is generic in that it makes no assumptions on the application domain, and it is general in that the algorithm does not depend on any specific properties of right-hand sides of equations. For instance, monotonicity is not required. However, in case the right-hand sides satisfy some weak monotonicity property, our algorithm returns the (uniquely defined) least solution.

The algorithm meets the best known theoretical worstcase complexity of similar algorithms. For the application of analyzing logic languages, it also gives the best practical results on most of our real world benchmark programs.


Logic Program Time Stamp Complete Lattice Abstract Interpretation Variable Assignment 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    F. Bourdoncle. Abstract Interpretation by Dynamic Partitioning. Journal of Functional Programming, 2(4), 1992.Google Scholar
  2. 2.
    B. Le Charlier and P. Van Hentenryck. A Universal Top-Down Fixpoint Algorithm. Technical report 92-22, Institute of Computer Science, University of Namur, Belgium, 1992.Google Scholar
  3. 3.
    B. Le Charlier and P. Van Hentenryck. Experimental evaluation of a generic abstract interpretation algorithm for Prolog. TOPLAS, 16(1):35–101, 1994.Google Scholar
  4. 4.
    R. Cleaveland and B. Steffen. A Linear-Time Model Checking Algorithm for the Alternation-Free Modal Mu-Calculus. In CAV'91. Springer, LNCS 575, 1991.Google Scholar
  5. 5.
    A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Propositional formulas as abstract domain for groundness analysis. In LICS'91, 322–327, Amsterdam, The Netherlands, 1991.Google Scholar
  6. 6.
    P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In POPL'77, 238–252, 1977.Google Scholar
  7. 7.
    P. Cousot and R. Cousot. Abstract Interpretation and Application to Logic Programs. Journal of Logic Programming, 13(2):103–179, 1992.CrossRefGoogle Scholar
  8. 8.
    A. Dicky. An Algebraic and Algorithmic Method of Analysing Transition Systems. TCS, 46:285–303, 1986.CrossRefGoogle Scholar
  9. 9.
    Christian Fecht. GENA — a Tool for Generating Prolog Analyzers from Specifications. SAS'95, 418–419. Springer Verlang, LNCS 983, 1995.Google Scholar
  10. 10.
    M.S. Hecht. Flow Analysis of Computer Programs. Amsterdam: Elsevier North-Holland, 1977.Google Scholar
  11. 11.
    S. Horwitz, A. Demers and T. Teitelbaum. An Efficient General Iteration Algorithm for Dataflow Analysis. Acta Informatica, 24, 679–694, 1987.MathSciNetGoogle Scholar
  12. 12.
    N. JØrgensen. Finding Fixpoints in Finite Function Spaces Using Neededness Analysis and Chaotic Iteration. In SAS'94, 329–345. Springer, LNCS 864, 1994.Google Scholar
  13. 13.
    G.A. Kildall. A Unified Approach to Global Program Optimization. In POPL'73, 194–206, 1973.Google Scholar
  14. 14.
    K. Marriott, H. SØndergaard, and N.D. Jones. Denotational Abstract Interpretation of Logic Programs. ACM Transactions of Programming Languages and Systems, 16(3):607–648, 1994.Google Scholar
  15. 15.
    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 Application, 189–233. Prentice-Hall, 1981.Google Scholar
  16. 16.
    P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Evaluation of the domain Prop. The Journal of Logic Programming, 23(3):237–278, 1995.Google Scholar
  17. 17.
    B. Vergauwen, J. Wauman, and J. Lewi. Efficient fixpoint computation. In SAS'94, 314–328. Springer, LNCS 864, 1994.Google Scholar
  18. 18.
    R. Wilhelm and D. Maurer. Compiler Construction. Addison-Wesley, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

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

Personalised recommendations