Skip to main content

SMT Solvers for Rodin

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7316))

Abstract

Formal development in Event-B generally requires the validation of a large number of proof obligations. Some automatic tools exist to automatically discharge a significant part of them, thus augmenting the efficiency of the formal development. We here investigate the use of SMT (Satisfiability Modulo Theories) solvers in addition to the traditional tools, and detail the techniques used for the cooperation between the Rodin platform and SMT solvers.

Our contribution is the definition of two approaches to use SMT solvers, their implementation in a Rodin plug-in, and an experimental evaluation on a large sample of industrial and academic projects. Adding SMT solvers to Atelier B provers reduces to one fourth the number of sequents that need to be proved interactively.

This work is partly supported by ANR project DECERT, CNPq/INRIA project SMT-SAVeS, and CNPq grants 560014/2010-4 and 573964/2008-4 (National Institute of Science and Technology for Software Engineering—INES, www.ines.org.br ).

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press (2010)

    Google Scholar 

  2. Armand, M., Faure, G., Grégoire, B., Keller, C., Théry, L., Werner, B.: A Modular Integration of SAT/SMT Solvers to Coq through Proof Witnesses. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP 2011. LNCS, vol. 7086, pp. 135–150. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  3. Barrett, C., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, ch. 26, pp. 825–885. IOS Press (February 2009)

    Google Scholar 

  4. Barrett, C., Stump, A., Tinelli, C.: The SMT-LIB Standard Version 2.0 (2010)

    Google Scholar 

  5. Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press (2009)

    Google Scholar 

  6. Bouton, T., de Oliveira, D.C.B., Déharbe, D., Fontaine, P.: veriT: An Open, Trustable and Efficient SMT-Solver. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 151–156. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  7. Coleman, J., Jones, C., Oliver, I., Romanovsky, A., Troubitsyna, E.: RODIN (Rigorous open Development Environment for Complex Systems). In: Fifth European Dependable Computing Conference: EDCC-5 supplementary volume, pp. 23–26 (2005)

    Google Scholar 

  8. Couchot, J.-F., Déharbe, D., Giorgetti, A., Ranise, S.: Scalable Automated Proving and Debugging of Set-Based Specifications. Journal of the Brazilian Computer Society 9, 17–36 (2003)

    Google Scholar 

  9. de Moura, L., Bjørner, N.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Déharbe, D.: Automatic Verification for a Class of Proof Obligations with SMT-Solvers. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 217–230. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Déharbe, D.: Integration of SMT-solvers in B and Event-B development environments. Science of Computer Programming (March 2011)

    Google Scholar 

  12. Konrad, M., Voisin, L.: Translation from Set-Theory to Predicate Calculus. Technical report, ETH Zurich (2011)

    Google Scholar 

  13. Kröning, D., Rümmer, P., Weissenbacher, G.: A Proposal for a Theory of Finite Sets, Lists, and Maps for the SMT-LIB Standard. In: Informal proceedings, 7th Int’l Workshop on Satisfiability Modulo Theories (SMT) at CADE 22 (2009)

    Google Scholar 

  14. Métayer, C., Voisin, L.: The Event-B mathematical language (2009), http://deploy-eprints.ecs.soton.ac.uk/11/4/kernel_lang.pdf

  15. Nelson, G., Oppen, D.C.: Simplifications by cooperating decision procedures. ACM Transactions on Programming Languages and Systems 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  16. Schmalz, M.: The logic of Event-B, Technical report 698, ETH Zürich, Information Security (2011)

    Google Scholar 

  17. Schulz, S.: E - A Brainiac Theorem Prover. AI Communications 15(2/3), 111–126 (2002)

    MATH  Google Scholar 

  18. The Eclipse Foundation. Eclipse SDK (2009)

    Google Scholar 

  19. Tinelli, C., Harandi, M.T.: A new correctness proof of the Nelson–Oppen combination procedure. In: Baader, F., Schulz, K.U. (eds.) Frontiers of Combining Systems (FroCoS), Applied Logic, pp. 103–120. Kluwer Academic Publishers (March 1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Déharbe, D., Fontaine, P., Guyot, Y., Voisin, L. (2012). SMT Solvers for Rodin. In: Derrick, J., et al. Abstract State Machines, Alloy, B, VDM, and Z. ABZ 2012. Lecture Notes in Computer Science, vol 7316. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30885-7_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30885-7_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30884-0

  • Online ISBN: 978-3-642-30885-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics