Skip to main content

Abstraction as the Key for Invariant Verification

  • Chapter
Verification: Theory and Practice

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

Abstract

We present a methodology for constructing abstractions and refining them by analyzing counter-examples. We also present a uniform verification method that combines abstraction, model-checking and deductive verification. In particular, it shows how to use the abstract system in a deductive proof even when the abstract model does not satisfy the specification and when it simulates the concrete system with respect to a weaker notion of simulation than Milner’s.

ERIMAG is a research laboratory associated with CNRS, Université Joseph Fourier and Institut Nationale Polytechnique de Grenoble

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. Abdulla, A. Bouajjani, B. Jonsson, and M. Nilsson. Handling Global Conditions in Parameterized System Verification. In N. Halbwachs and D. Peled, editors, CAV’ 99, volume 1633 of LNCS, pages 134-145. Springer-Verlag, 1999.

    Google Scholar 

  2. A. Annichini, A. Bouajjani, Y. Lakhnech, and M. Sighireanu. Analyzing fair parametric extended automata. In P. Cousot, editor, Proceedings of the International Symposium on Static Analysis, volume 2126 of lncs. springer, 2001.

    Google Scholar 

  3. F. Balarin and A. Sangivanni-Vincentelli. An iterative approach to language containment. In 5th Workshop on Computer-Aided Verification (CAV93). LNCS 697, Springer Verlag, June 1993.

    Google Scholar 

  4. K. Baukus, S. Bensalem, Y. Lakhnech, and K. Stahl. Abstracting WS1S Systems to Verify Parameterized Networks. In S. Graf and M. Schwartzbach, editors, TACAS’00, volume 1785 of LNCS. Springer-Verlag, 2000.

    Google Scholar 

  5. K. Baukus, Y. Lakhnech, and K. Stahl. Verification of parameterized networks. Journal of Universal Computer Science, 7(2), 2001.

    Google Scholar 

  6. S. Bensalem and Y. Lakhnech. Automatic generation of invariants. Formal Methods in System Design, 15(1):75–92, July 1999.

    Article  Google Scholar 

  7. S. Bensalem, Y. Lakhnech, and S. Owre. Computing abstractions of infinite state systems automatically and compositionally. In A. J. Hu and M. Y. vardi, editors, Computer Aided Verification, volume 1427 of LNCS, pages 319-331. SpringerVerlag, 1998.

    Google Scholar 

  8. S. Bensalem, Y. Lakhnech, and S. Owre. Invest: A tool for the verification of invariants. In A. J. Hu and M. Y. vardi, editors, Computer Aided Verification, volume 1427 of LNCS, pages 505-510. Springer-Verlag, 1998.

    Google Scholar 

  9. S. Bensalem, Y. Lakhnech, and H. Saidi. Automatic generation of invariants. 996.

    Google Scholar 

  10. N. Bjørner, A. Browne, and Z. Manna. Automatic generation of invariants and intermediate assertions. Theoretical Computer Science, 173(1):49–87, 1997.

    Article  MathSciNet  Google Scholar 

  11. A. Bouajjani, S. Bensalem, C. Loiseaux, and J. Sifakis. Property preserving simulations. In Workshop on Computer-Aided Verification (CAV), Montréal. LNCS 630, June 1992.

    Google Scholar 

  12. A. Bouajjani, J. C. Fernandez, and N. Halbwachs. Minimal model generation. In Workshop on Computer-aided Verification. Rutgers — American Mathematical Society, Association for Computing Machinery, June 1990.

    Google Scholar 

  13. A. Bouajjani, Y. Lakhnech, and S. Yovine. Model checking for extended timed temporal logics. In B. Jonsson and J. Parrow, editors, 4th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems FTRTFT’96, volume 1135 of LNCS, pages 306-326. Springer-Verlag, 1996.

    Google Scholar 

  14. E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided abstraction refinement. In Computer Aided Verification, LNCS, pages 154-169. Springer-Verlag, 2000.

    Google Scholar 

  15. E. Clarke, O. Grumberg, and D. Long. Model checking and abstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, Sept. 1994.

    Article  Google Scholar 

  16. M. A. Colon and T. E. Uribe. Generating finite-state abstractions of reactive systems using decision procedures. Lecture Notes in Computer Science, 1427:293–304, 1998.

    Article  MathSciNet  Google Scholar 

  17. J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Pasareanu, Robby, and H. Zheng. Bandera: Extracting finite-state models from java source code. In 22nd International Conference on Software Engineering, 2000.

    Google Scholar 

  18. 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, Jan. 1977.

    Google Scholar 

  19. P. Cousot and R. Cousot. Systematic design of program analysis framework. In Proc. 6th ACM Symp. on Principle of Programming Languages, 1979.

    Google Scholar 

  20. P. Cousot and R. Cousot. Constructing program invariance proof methods. In Int. Worksh. on Program Construction, Chateau Bonas. INRIA, France, 1980.

    Google Scholar 

  21. D. Dams. Abstract interpretation and partition refinement for model checking. Phd thesis, Technical University of Eindhoven, July 1996.

    Google Scholar 

  22. D. Dams, O. Grumberg, and R. Gerth. Generation of reduced models for checking fragments of CTL. In Proceedings of CAV’93, Crete (GR), volume 697, pages 479-490. Lecture Notes in Computer Science, 1993.

    Google Scholar 

  23. S. Das, D. Dill, and S. Park. Experience with predicate abstraction. In 11th International Conference on Computer-Aided Verification.

    Google Scholar 

  24. J. de Bakker. Mathematical Theory of Program Cortrectness. Prentice-Hall, NJ, 1980.

    Google Scholar 

  25. J. Dingel and T. Filkorn. Model checking for infinite state systems using data abstraction, assumption-committment style reasoning and theorem proving. In Proc. of 7th CAV 95, Liège. LNCS 939, Springer Verlag, 1995.

    Google Scholar 

  26. S. Graf. Verification of a distributed cache memory by using abstractions. In Conference on Computer Aided Verification CAV’94, Stanford. LNCS 818, Springer Verlag, June 1994. a largely improved and extended version appeared in Distributed Computing.

    Google Scholar 

  27. S. Graf. Characterization of a sequentially consistent memory and verification of a cache memory by abstraction. Distributed Computing, 12, 1999. accepted for publication since 1995.

    Google Scholar 

  28. S. Graf and C. Loiseaux. Program verification using compositional abstraction. In TAPSOFT 93, joint conference CAAP/FASE. LNCS 668, Springer Verlag, Apr. 1993.

    Google Scholar 

  29. S. Graf and C. Loiseaux. A tool for symbolic program verification and abstraction. In Conference on Computer Aided Verification CAV 93, Heraklion Crete. LNCS 697, Springer Verlag, 1993.

    Google Scholar 

  30. S. Graf and H. Saidi. Construction of abstract state graphs with pvs. In Conference on Computer Aided Verification CAV’97, Haifa, volume 1254 of LNCS, June 1997.

    Google Scholar 

  31. N. Halbwachs, Y.-E. Proy, and P. Raymond. Verification of linear hybrid systems by means of convex approximations. In International Static Analysis Symposium, SAS’94, Namur (Belgium), September 1994.

    Google Scholar 

  32. J. Hatcliff, M. B. Dwyer, S. Laubach, and D. Schmidt. Staging static analyses using abstraction-based program specialization. In Principles of Declarative Programming: 10th International Symposium, PLILP’98, LNCS 1490, 1998.

    Google Scholar 

  33. K. Havelund and N. Shankar. Experiments in theorem proving and model checking for protocol verification. In Proceedings of Formal Methods in Europe’96, 1996.

    Google Scholar 

  34. M. R. Henzinger, T. A. Henzinger, and P. W. Kopke. Computing simulations on finite and infinite graphs. In 36th Annual Symposium on Foundations of Computer Science (FOCS’95), pages 453-462, Los Alamitos, Oct. 1995. IEEE Computer Society Press.

    Google Scholar 

  35. B. Jeannet, N. Halbwachs, and P. Raymond. Dynamic partitioning in analyses of numericalproperties. In Static Analysis Symposium, SAS’99, Venezia (Italy), Sept. 1999.

    Google Scholar 

  36. R. Kurshan. Analysis of discrete event coordination. In REX Workshop on Stepwise Refinement of Distributed Systems, Mook. LNCS 430, Springer Verlag, 1989.

    Google Scholar 

  37. R. Kurshan. Computer-Aided Verification of Coordinating processes, the automata theoretic approach. Princeton Series in Computer Science. Princeton University Press, 1994.

    Google Scholar 

  38. Y. Lakhnech, S. Bensalem, S. Berezin, and S. Owre. Incremental verification by abstraction. In TACAS 2001, volume 2031 of lncs, 2001.

    Google Scholar 

  39. K. Larsen. Modal specifications. In Workshop on Automatic Verification Methods for Finite State Systems, Grenoble. LNCS 407, Springer Verlag, 1989.

    Google Scholar 

  40. K. G. Larsen, B. Steffen, and C. Weise. A constraint oriented proof methodology. In Workshop on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’95, pages 17-40. LNCS vol. 1019, 1995.

    Google Scholar 

  41. D. Lee and M. Yannakakis. Online minimization of transition systems (extended abstract). In Proceedings of the Twenty-Fourth Annual ACM Symposium on the Theory of Computing, pages 264-274, Victoria, British Columbia, Canada, 4–6 May 1992.

    Google Scholar 

  42. D. Lesens and H. Säïdi. Automatic verification of parameterized networks of processes by abstraction. In Proceedings of the 2nd International Workshop on the Verification of Infinite State Systems (INFINITY’97, Bologna, Italy), July 1997.

    Google Scholar 

  43. 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, Vol 6, Iss 1, January 1995, 1995.

    Google Scholar 

  44. Z. Manna and A. Pnueli. The temporal Logic of reactive and concurrent systems, Volume 2: Verification, 1995. Springer Verlag, 1995.

    Google Scholar 

  45. Z. Manna and A. Pnueli. Verification of parameterized programs. In E. Bürger, editor, Specification and Validation Methods, pages 167–230. Oxford University Press, Oxford, 1995.

    Google Scholar 

  46. R. Milner. An algebraic definition of simulation between programs. In Proc. Second Int. Joint Conf. on Artificial Intelligence, pages 481-489. BCS, 1971.

    Google Scholar 

  47. R. Milner. A calculus of communication systems. In LNCS 92. Springer Verlag, 1980.

    Google Scholar 

  48. O. Müller and T. Nipkow. Combining model checking and deduction for I/O-automata. In Tools and Algorithms for the Construction and Analysis of Systems, volume 1019 of LNCS, 1995.

    Google Scholar 

  49. K. S. Namjoshi and R. P. Kurshan. Syntactic program transformations for automatic abstraction. In Computer Aided Verification, LNCS, pages 435-449. Springer-Verlag, 2000.

    Google Scholar 

  50. S. Owre, J. Rushby, N. Shankar, and M. Srivas. PVS: Combining specification, proof checking and model-checking. In CAV’96, volume 1102 of LNCS, 1196.

    Google Scholar 

  51. D. Park. Concurrency and automata on infinite sequences. In 5th GI-Conference on Theoretical Computer Science, number 104. LNCS, 1981.

    Google Scholar 

  52. H. Sipma, T. Uribe, and Z. Manna. Deductive model checking. In R. Alur and T. Henzinger, editors, 8th International Conference on Computer Aided Verification, volume 1102 of LNCS, pages 208-219. Springer-Verlag, 1996.

    Google Scholar 

  53. J. X. Su, D. L. Dill, and C. Barrett. Automatic generation of invariants in processor verification. In FMCAD’ 96, volume 1166 of LNCS, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bensalem, S., Graf, S., Lakhnech, Y. (2003). Abstraction as the Key for Invariant Verification. In: Dershowitz, N. (eds) Verification: Theory and Practice. Lecture Notes in Computer Science, vol 2772. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39910-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39910-0_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21002-3

  • Online ISBN: 978-3-540-39910-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics