Skip to main content

COMBINE: A Tool on Combined Formal Methods for Bindingly Verification

  • Conference paper
Automated Technology for Verification and Analysis (ATVA 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6252))

Abstract

Theorem proving and model checking are two well-known formal methods emerging recently for software verification. Each of them has its own advantages and disadvantages. As an attempt to combine the verification capabilities of these two methods, in this paper we introduce a verification tool known as COMBINE (Combined fOrmal Methods for BINdingly vErification). Suggested by its name, COMBINE can verify imperative programs in a bindingly manner comprising of two phases: static verification and dynamic verification. In fact, COMBINE has been developed as a published Web-based system currently being used for teaching programming for students at Hochiminh City University of Technology (HCMUT), Vietnam.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Clarke, E.M., Wing, J.M., et al.: Formal methods: State of the art and future directions. ACM Survey 28, 626–643 (1996)

    Article  Google Scholar 

  2. Duffy, D.A.: Principles of Automated Theorem Proving. John Wiley & Sons, Chichester (1991)

    MATH  Google Scholar 

  3. Flanagan, C., Qadeer, S.: Predicate Abstraction for Software Verification. In: Conference Record for of the 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 191–202 (2002)

    Google Scholar 

  4. Clarke, E.M., Emerson, E.A.: Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. Logic of Programs, 52–71 (1981)

    Google Scholar 

  5. Baudin, P., Filliâtre, J.C., Marché, C., Monate, B., Moy, Y., Prevosto, V.: ACSL: ANSI/ISO C Specification Language, preliminary design (version 1.4) (October 2008)

    Google Scholar 

  6. Necula, G.C., Mcpeak, S., Rahul, S.P., Weimer, W.: CIL: Intermediate language and tools for analysis and transformation of C programs. In: International Conference on Compiler Construction, pp. 213–228 (2002)

    Google Scholar 

  7. Quan, T.T., Hoang, D.L.N., Nguyen, B.T., Nguyen, A.N., Tran, Q.D., Nguyen, P.H., Bui, T.H., et al.: MAFSE: A model-based framework for software verification. In: Proceedings of the 4th International Conference on Secure Software Integration and Reliability Improvement, Singapore (2010)

    Google Scholar 

  8. Quan, T.T., Hoang, D.L.N., Nguyen, V.H., Nguyen, P.H.: Model–based Generation of Structured Error–Flows in Imperative Programs. In: Proceedings of International Conference on Advanced Computing and Applications (ACOMP 2010), Vietnam (2010)

    Google Scholar 

  9. Z3: An Efficient SMT Solver, http://research.microsoft.com/en-us/um/redmond/projects/z3/

  10. Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: A Theorem Prover for Program Checking, Tehcnical report, http://www.hpl.hp.com/techreports/2003/HPL-2003-148.html

  11. The Alt-Ergo Theorem Prover, http://alt-ergo.lri.fr/

  12. Frama-C, http://frama-c.com/

  13. Jessie plugin, http://frama-c.cea.fr/jessie.html

  14. Spin – Formal Verification, http://spinroot.com/

  15. The Coq Proof Assistant, http://www.lix.polytechnique.fr/coq/

  16. Isabelle, http://www.cl.cam.ac.uk/research/hvg/Isabelle/

  17. Redlog, http://redlog.dolzmann.de/

  18. Why: a software verification platform, http://why.lri.fr/

  19. HIP Overview, http://loris-7.ddns.comp.nus.edu.sg/~project/hip/index.html.

  20. Java PathFinder, http://babelfish.arc.nasa.gov/trac/jpf

  21. NuSMV – a new symbolic model checker, http://nusmv.fbk.eu/

  22. Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: Towards Flexible Verification under Fairness. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 709–714. Springer, Heidelberg (2009)

    Google Scholar 

  23. Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: POPL 2002: Principles of Programming Languages, pp. 58–70 (2002)

    Google Scholar 

  24. Flanagan, C.: Hybrid type checking. In: POPL 2006: Principles of Programming Languages, pp. 245–256 (2006)

    Google Scholar 

  25. Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: Proceedings of the fifth ACM SIGPLAN International Conference on Functional Programming, pp. 268–279 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nguyen, A.N., Quan, T.T., Nguyen, P.H., Bui, T.H. (2010). COMBINE: A Tool on Combined Formal Methods for Bindingly Verification. In: Bouajjani, A., Chin, WN. (eds) Automated Technology for Verification and Analysis. ATVA 2010. Lecture Notes in Computer Science, vol 6252. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15643-4_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15643-4_32

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15642-7

  • Online ISBN: 978-3-642-15643-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics