Efficient fixpoint computation

  • B. Vergauwen
  • J. Wauman
  • J. Lewi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 864)


Most of the algorithms presented for computing fixpoints have been developed for very specific application areas, e.g. dataflow analysis, abstract interpretation, denotational semantics, system verification, to mention but a few. Surprisingly little attention has been devoted to the construction of general purpose, application independent fixpoint algorithms (one notable exception being [17]). The goal of this paper is to put known ideas and algorithms into a more general and abstract setting. More precisely we discuss a variety of efficient general purpose algorithms for computing (part of) the least solution of a monotone system of equations over a complete partial order structure. The advantage of having general purpose fixpoint algorithms is twofold. Firstly, once proven correct, they can be instantiated to a wide variety of application domains. Secondly, they separate the essentials of fixpoint computation from concrete application domain aspects. We consider algorithms based on (chaotic) fixpoint approximation, as well as algorithms based on fixpoint induction techniques. The algorithms are constructed in a stepwise fashion: First a basic schema, capturing the essence of the algorithm, is discussed, which is then subsequently refined using a number of optimisation steps. As a sample application, we sketch how an algorithm for computing the prebisimulation preorder is obtained, matching the complexity of the so far best known ’ad hoc’ constructed algorithm for this preorder.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andersen, H. R.: Model Checking and Boolean Graphs, ESOP'92, LNCS 582, 1992Google Scholar
  2. 2.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications, ACM Transactions on Progr. Languages and Systems, Vol.8, No. 2, pp. 244–263, April 1986CrossRefGoogle Scholar
  3. 3.
    Cleaveland, R.: Tableau-Based Model Checking in the Propositional Mu-Calculus, Acta Informatica, 1990Google Scholar
  4. 4.
    Cleaveland, R., Steffen, B.: Computing Behavioural Relations, Logically, ICALP 91, pp. 127–138, LNCS 510Google Scholar
  5. 5.
    Cleaveland, R., Steffen, B.: A Linear-Time Model Checking Algorithm for the Alternation-Free Modal Mu-Calculus, CAV'91, LNCS 575, 1991Google Scholar
  6. 6.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, POPL, 1977.Google Scholar
  7. 7.
    Debray, S. K.: Static inference of modes and data dependencies in logic programs, TOPLAS, 11 (3), 1989.Google Scholar
  8. 8.
    Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional μ-calculus, LICS, 267–278, 1986Google Scholar
  9. 9.
    Jones, N.D., Mycroft, A.: Data flow analysis of applicative programs using minimal function graphs, POPL, 1986.Google Scholar
  10. 10.
    Jorgensen, N.: Chaotic fixpoint iteration guided by dynamic dependency, in Workshop on Static Analysis (WSA'93), LNCS.Google Scholar
  11. 11.
    O'Keefe, R.A.: Finite fixed-point problems, ICTL 1987.Google Scholar
  12. 12.
    Kildall, G.A.: A unified approach to global program optimization, POPL 1973.Google Scholar
  13. 13.
    Kozen, D.: Results on the propositional μ-calculus, TCS, 27, 1983.Google Scholar
  14. 14.
    Larsen, K.G.: Proof systems for Hennessy-Milner logic with recursion, CAAP, 1988, see also TCS, 72, 1990Google Scholar
  15. 15.
    Larsen, K.G.: Efficient local correctness checking, CAV92, ForthcomingGoogle Scholar
  16. 16.
    Le Charlier, B., Van Hentenryck, P.: Experimental Evaluation of a Generic Abstract Interpretation Algorithm for PROLOG, TOPLAS, Vol. 16, nr. 1, January 1994.Google Scholar
  17. 17.
    Le Charlier, B., Van Hentenryck, P.: A universal top-down fixpoint algorithm, Technical Report 92-22, Institute of Computer Science, University of Namur, Belgium, April 1992.Google Scholar
  18. 18.
    Le Charlier, B., Degimbe, O., Michel, L., Van Hentenryck, P.: Optimization Techniques for General Purpose Fixpoint Algorithms: Practical Efficiency for the Abstract Interpretation of Prolog, in Workshop on Static Analysis (WSA'93), LNCS.Google Scholar
  19. 19.
    Milner, R.: Communication and Concurrency, Prentice-Hall International, 1989.Google Scholar
  20. 20.
    Stirling, C., Walker, D.: Local model checking in the modal mu-calculus, TCS, October 1991, see also LNCS 351, 369–383, CAAP 1989Google Scholar
  21. 21.
    Tarjan, R.E.: Depth first search and linear graph algorithms, SIAM J. Comput., 1 (2), 1972.Google Scholar
  22. 22.
    Vergauwen, B., Lewi, J.: A linear algorithm for solving fixed points equations on transition systems, CAAP'92, LNCS 581, 322–341Google Scholar
  23. 23.
    Vergauwen, B., Lewi, J.: Efficient Local Correctness Checking for Single and Alternating Blocks, ICALP'94, LNCS 820.Google Scholar
  24. 24.
    Vergauwen, B.: Verification of Temporal Properties of Concurrent Systems, Ph.D. thesis, in preparation.Google Scholar
  25. 25.
    Winskel, G.: A note on model checking the modal ν-calculus, ICALP, LNCS 372, 1989, see also TCS 83, 1991Google Scholar
  26. 26.
    Wauman, J.: Ontwerp en implementatie van lokale verificatie-algoritmen voor reactieve Systemen met behulp van temporele logic, Ms. thesis, Dept. of Computer Science, K.U.Leuven, 1992–1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • B. Vergauwen
    • 1
  • J. Wauman
    • 1
  • J. Lewi
    • 1
  1. 1.Department of Computer ScienceK.U.LeuvenLeuvenBelgium

Personalised recommendations