Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Automatic generation of invariants and intermediate assertions

  • Invited Lectures and Tutorials
  • Conference paper
  • First Online:
Principles and Practice of Constraint Programming — CP '95 (CP 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 976))

Abstract

Verifying temporal specifications of reactive and concurrent systems commonly relies on generating auxiliary assertions and strengthening given properties of the system. Two dual approaches find solutions to these problems: the bottom-up method performs an abstract forward propagation of the system, generating auxiliary properties; the top-down method performs an abstract backward propagation to strengthen given properties. Exact application of these methods is complete but is usually infeasible for large-scale verification. An approximate analysis can often supply enough information to complete the verification.

The paper overviews some of the exact and approximate analysis methods to generate and strengthen assertions for the verification of invariance properties. By formulating and analyzing a generic safety verification rule we extend these methods to the verification of general temporal safety properties.

This research was supported in part by the National Science Foundation under grant CCR-92-23226, the Advanced Research Projects Agency under NASA grant NAG2-892, the United States Air Force Office of Scientific Research under grant F49620-93-1-0139, and the Department of the Army under grant DAAH04-95-1-0317.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4th ACM Symp. Princ. of Prog. Lang., pages 238–252. ACM Press, 1977.

    Google Scholar 

  2. E.M. Clarke, O. Grumberg, and D.E. Long. Model checking and abstraction. In 19th ACM Symp. Princ. of Prog. Lang., pages 343–354, 1992.

    Google Scholar 

  3. P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among the variables of a program. In 5th ACM Symp. Princ. of Prog. Lang., pages 84–97, Jan. 1978.

    Google Scholar 

  4. D.R. Dams, O. Grumberg, and R. Gerth. Abstract interpretation of reactive systems: Abstractions preserving ∀CTL*, ∃ECTL*, CTL*. In IFIP Working Conference on Programming Concepts, Methods and Calculi (PROCOMET 94), pages 573–592, June 1994.

    Google Scholar 

  5. P. Granger. Static analysis of linear congruence equalities among variables of a program. In TAPSOFT 91, Vol. 1: Colloq. on Trees in Algebra and Programming (CAAP '91), LNCS, pages 169–192. Springer-Verlag, April 1991.

    Google Scholar 

  6. S. M. German and B. Wegbreit. A Synthesizer of Inductive Assertions. IEEE transactions on Software Engineering, 1(1):68–75, March 1975.

    Google Scholar 

  7. D. Harel. Statecharts: A visual approach to complex systems. Technical Report CS84-05, Dept. of Applied Mathematics, Weizmann Institute of Science, 1984.

    Google Scholar 

  8. N. Heintze. Set Based Program Analysis. PhD thesis, Carnegie Mellon University, 1992.

    Google Scholar 

  9. T.A. Henzinger and P.-H. Ho. Algorithmic analysis of nonlinear hybrid systems. In Proc. 7th Intl. Conference on Computer Aided Verification, LNCS, 1995.

    Google Scholar 

  10. N. Heintze and J. Jaffar. A decision procedure for a class of Herbrand set constraints. Technical Report CMU-CS-91-110, Carnegie Mellon University, Feb. 1991. Abstract appears in Proceedings of the 5th Annual IEEE Symposium on Logic in Computer Science, 1990.

    Google Scholar 

  11. N. Halbwachs, P. Raymond, and Y.-E. Proy. Verification of linear hybrid systems by means of convex approximations. In 1st Intl. Static Analysis Symp., vol. 864 of LNCS, pages 223–237. Springer-Verlag, Sept. 1994.

    Google Scholar 

  12. M. Karr. Affine relationships among variables of a program. Acta Informatica, 6:133–151, 1976.

    Article  Google Scholar 

  13. S. Katz and Z. Manna. Logical analysis of programs. Communications of the ACM, 19(4):188–206, April 1976.

    Article  Google Scholar 

  14. K. Lautenbach. Exacte Bedingungen der Lebendigkeit für eine Klasse von Petri-Netzen. St. Augustin, GMD Bonn, 82, 1973.

    Google Scholar 

  15. Z. Manna, A. Anuchitanukul, N. Bjørner, A. Browne, E. Chang, M. Colón, L. de Alfaro, H. Devarajan, H.B. Sipma, and T.E. Uribe. STeP: The Stan-ford temporal prover. Technical Report STAN-CS-TR-94-1518, Computer Science Department, Stanford University, July 1994.

    Google Scholar 

  16. Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.

    Google Scholar 

  17. W. Reisig. Petri Nets: An Introduction, vol. 4 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ugo Montanari Francesca Rossi

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bjørner, N., Browne, A., Manna, Z. (1995). Automatic generation of invariants and intermediate assertions. In: Montanari, U., Rossi, F. (eds) Principles and Practice of Constraint Programming — CP '95. CP 1995. Lecture Notes in Computer Science, vol 976. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60299-2_37

Download citation

  • DOI: https://doi.org/10.1007/3-540-60299-2_37

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60299-6

  • Online ISBN: 978-3-540-44788-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics