Abstract
Most of the properties established during verification are either invariants or depend crucially on invariants. The effectiveness of automated formal verification is therefore sensitive to the ease with which invariants, even trivial ones, can be automatically deduced. While the strongest invariant can be defined as the least fixed point of the strongest post-condition of a transition system starting with the set of initial states, this symbolic computation rarely converges. We present a method for invariant generation and strengthening that relies on the simultaneous construction of least and greatest fixed points, restricted widening and narrowing, and quantifier elimination. The effectiveness of the method is demonstrated on a number of examples.
The research described in this paper was supported in part by NSF contract CCR- 9712383 and DARPA/AFRL contract F33615-00-C-3043.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
S. Bensalem, V. Ganesh, Y. Lakhnech, C. Muñoz, S. Owre, H. Rueß, J. Rushby, V. Rusu, H. Saïdi, N. Shankar, E. Singerman, and A. Tiwari. An overview of SAL. In C. M. Holloway, editor, LFM 2000: Fifth NASA Langley Formal Methods Workshop, pages 187–196, 2000. Available at http://shemesh.larc.nasa.gov/fm/Lfm2000/Proc/.
S. Bensalem and Y. Lakhnech. Automatic generation of invariants. Formal Methods in System Design, 15:75–92, 1999.
S. Bensalem, Y. Lakhnech, and S. Owre. Computing abstractions of infinite state systems compositionally and automatically. In Proc. of the 9th Conference on Computer-Aided Verification, CAV’98, LNCS. Springer Verlag, June 1998.
S. Bensalem, Y. Lakhnech, and H. Saïdi. Powerful techniques for the automatic generation of invariants. In R. Alur and T. A. Henzinger, editors, Computer-Aided Verification, CAV’ 96, number 1102 in LNCS, pages 323–335. Springer-Verlag, 1996.
N. Bjørner, A. Browne, and Z. Manna. Automatic Generation of Invariants and Intermediate Assertions. Theoretical Computer Science, 1997.
F. Bourdoncle. Efficient chaotic iteration strategies with widenings. In Proceedings of the Intl Conf on Formal Methods in Programming and their Applications, volume 735 of LNCS, pages 128–141. Springer Verlag, 1993.
E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, September 1994.
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4th POPL, January 1977.
P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In M. Bruynooghe and M. Wirsing, editors, Proc. of the 4th Intl. Symposium on Programming Language Implementation and Logic Programming (PLILP’ 92 ), volume 631 of LNCS, pages 269–295, Berlin, 1992. Springer-Verlag.
S. M. German and B. Wegbreit. A synthesizer of inductive assertions. IEEE Transactions on Software Engineering, 1(1):68–75, March 1975.
S. Graf and H. Saïdi. Verifying invariants using theorem proving. In Conference on Computer Aided Verification CAV’96, LNCS 1102, Springer Verlag, 1996.
S. Katz and Z. Manna. Logical analysis of programs. Communications of the ACM, 19(4):188–206, April 1976.
L. Lamport. The ‘Hoare logic’ of concurrent programs. In Acta Informatica 14, pages 21–37, 1980.
C. Loiseaux, S. Graf, J. Sifakis, A. Bouajjani, and S. Bensalem. Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design, 6(1), January 1995.
Z. Manna and A. Pnueli. The Temporal Verification of Reactive Systems: Safety. Springer-Verlag, 1995.
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6:319–340, 1976.
H. Saïdi and N. Shankar. Abstract and model check while you prove. In Computer-Aided Verification, CAV’ 99, Trento, Italy, July 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tiwari, A., Rueß, H., Saïdi, H., Shankar, N. (2001). A Technique for Invariant Generation. In: Margaria, T., Yi, W. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2001. Lecture Notes in Computer Science, vol 2031. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45319-9_9
Download citation
DOI: https://doi.org/10.1007/3-540-45319-9_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41865-8
Online ISBN: 978-3-540-45319-2
eBook Packages: Springer Book Archive