Abstract
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.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Andersen, H. R.: Model Checking and Boolean Graphs, ESOP'92, LNCS 582, 1992
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 1986
Cleaveland, R.: Tableau-Based Model Checking in the Propositional Mu-Calculus, Acta Informatica, 1990
Cleaveland, R., Steffen, B.: Computing Behavioural Relations, Logically, ICALP 91, pp. 127–138, LNCS 510
Cleaveland, R., Steffen, B.: A Linear-Time Model Checking Algorithm for the Alternation-Free Modal Mu-Calculus, CAV'91, LNCS 575, 1991
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, POPL, 1977.
Debray, S. K.: Static inference of modes and data dependencies in logic programs, TOPLAS, 11 (3), 1989.
Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional μ-calculus, LICS, 267–278, 1986
Jones, N.D., Mycroft, A.: Data flow analysis of applicative programs using minimal function graphs, POPL, 1986.
Jorgensen, N.: Chaotic fixpoint iteration guided by dynamic dependency, in Workshop on Static Analysis (WSA'93), LNCS.
O'Keefe, R.A.: Finite fixed-point problems, ICTL 1987.
Kildall, G.A.: A unified approach to global program optimization, POPL 1973.
Kozen, D.: Results on the propositional μ-calculus, TCS, 27, 1983.
Larsen, K.G.: Proof systems for Hennessy-Milner logic with recursion, CAAP, 1988, see also TCS, 72, 1990
Larsen, K.G.: Efficient local correctness checking, CAV92, Forthcoming
Le Charlier, B., Van Hentenryck, P.: Experimental Evaluation of a Generic Abstract Interpretation Algorithm for PROLOG, TOPLAS, Vol. 16, nr. 1, January 1994.
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.
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.
Milner, R.: Communication and Concurrency, Prentice-Hall International, 1989.
Stirling, C., Walker, D.: Local model checking in the modal mu-calculus, TCS, October 1991, see also LNCS 351, 369–383, CAAP 1989
Tarjan, R.E.: Depth first search and linear graph algorithms, SIAM J. Comput., 1 (2), 1972.
Vergauwen, B., Lewi, J.: A linear algorithm for solving fixed points equations on transition systems, CAAP'92, LNCS 581, 322–341
Vergauwen, B., Lewi, J.: Efficient Local Correctness Checking for Single and Alternating Blocks, ICALP'94, LNCS 820.
Vergauwen, B.: Verification of Temporal Properties of Concurrent Systems, Ph.D. thesis, in preparation.
Winskel, G.: A note on model checking the modal ν-calculus, ICALP, LNCS 372, 1989, see also TCS 83, 1991
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vergauwen, B., Wauman, J., Lewi, J. (1994). Efficient fixpoint computation. In: Le Charlier, B. (eds) Static Analysis. SAS 1994. Lecture Notes in Computer Science, vol 864. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58485-4_49
Download citation
DOI: https://doi.org/10.1007/3-540-58485-4_49
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58485-8
Online ISBN: 978-3-540-49005-0
eBook Packages: Springer Book Archive