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

Counter-example generation in symbolic abstract model-checking

  • Special section on formal methods for industrial critical systems
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The boundaries of model-checking have been extended through the use of abstraction. These techniques are conservative, in the following sense: when the verification succeeds, the verified property is guaranteed to hold; but when it fails, it may result either from the non satisfaction of the property, or from a too rough abstraction. In case of failure, it is, in general, undecidable whether an abstract trace corresponding to a counter-example has any concrete counterparts. For debugging purposes, one usually desires to go further than giving a “yes/no” answer (actually, a “yes/don’t know” answer!), and look for such concrete counter-examples. We propose a solution in which we apply standard test-pattern generation technology to search for concrete instances of abstract traces.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bensalem S, Caspi P, Dumas C, Parent-Vigouroux C (1999) A methodology for proving control programs with Lustre and PVS. In: Dependable Computing for Critical Applications, DCCA-7, San Jose. IEEE Computer Society, January

  2. Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang J (1990) Symbolic model checking: 1020 states and beyond. In: Fifth IEEE Symposium on Logic in Computer Science, Philadelphia

  3. Ball T, Rajamani SK (2000) Checking temporal properties of software with boolean programs. In: Workshop on Advances in Verification (with CAV 2000)

  4. Chauhan P, Clarke EM, Kukula J, Sapra S, Veith H, Wang D (2002) Automated abstraction refinement for model checking large state spaces using SAT based conflict analysis. In: Formal Methods in Computer Aided Design (FMCAD), November

  5. Clarke E, Grumberg O, Jha S, Lu Y, Veith H (2003) Counterexample-guided abstraction refinement. JACM, 50(5), September. Preliminary version in CAV’2000, LNCS, vol 1855, Springer-Verlag

  6. Clarke EM, Gupta A, Kukula J, Strichman O (2002) SAT based abstraction-refinement using ILP and machine learning techniques. In: CAV’02, July

  7. Clarke EM, Grumberg O, Long DE (1994) Model checking and abstraction. ACM TOPLAS 16(5)

  8. Coudert O, Madre JC, Berthet C (1990) Verifying temporal properties of sequential machines without building their state diagrams. In: Kurshan R (ed) International Workshop on Computer Aided Verification, Rutgers (NJ), June

  9. Graf S, Loiseaux C (1993) A tool for symbolic program verification and abstraction. In: Fifth Conference on Computer-Aided Verification, CAV’93, Elounda (Greece), July. LNCS, vol 697, Springer Verlag

  10. Halbwachs N, Caspi P, Raymond P, Pilaud D (1991) The synchronous dataflow programming language Lustre . Proceedings of the IEEE 79(9):1305–1320, September

    Article  Google Scholar 

  11. Halbwachs N, Lagnier F, Ratel C (1992) Programming and verifying real-time systems by means of the synchronous data-flow programming language Lustre . IEEE Transactions on Software Engineering, Special Issue on the Specification and Analysis of Real-Time Systems, September

  12. Halbwachs N, Raymond P (1999) Validation of synchronous reactive systems: from formal verification to automatic testing. In: ASIAN’99, Asian Computing Science Conference, Phuket (Thailand), December

  13. Jahier E, Jeannet B, Gaucher F, Maraninchi F (2003) Automatic state reaching for debugging reactive programs. In: AADEBUG’2003 – Fifth International Workshop on Automated Debugging, Ghent, September

  14. Lakhnech Y, Bensalem S, Berezin S, Owre S (2001) Incremental verification by abstraction. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS. Springer-Verlag

  15. Păsăreanu CS, Dwyer MB, Visser W (2001) Finding feasible counter-examples when model checking Java programs. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS, vol 2031. Springer-Verlag

  16. Pace G, Halbwachs N, Raymond P (2001) Counter-example generation in symbolic abstract model-checking. In: 6th International Workshop on Formal Methods for Industrial Critical Systems, FMICS’2001, Paris, July. Inria

  17. Raymond P, Weber D, Nicollin X, Halbwachs N (1998) Automatic testing of reactive systems. In: 19th IEEE Real-Time Systems Symposium, Madrid, Spain, December

  18. Saraswat VA (1990) The paradigm of concurrent constraint programming. In: Warren P, Szerdei DHD (eds) Proceedings of the 7th International Conference on Logic Programming (ICLP ’90), pp 777–778, Jerusalem, June. MIT Press

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gordon Pace.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pace, G., Halbwachs, N. & Raymond, P. Counter-example generation in symbolic abstract model-checking. STTT 5, 158–164 (2004). https://doi.org/10.1007/s10009-003-0127-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-003-0127-4

Keywords