Skip to main content

A Comparison of Intermediate Verification Languages: Boogie and Sireum/Pilar

  • Conference paper

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

Abstract

Use of contract-based specification languages is slowly increasing. This advancement has been due in part to the growing efficiency and usefulness of Intermediate Verification Languages (IVLs) which abstract the low level details of program verification and act as a backbone for higher level tools. This paper looks at two mature IVLs, Boogie and Sireum/Pilar, and provides a comparative study of their features in order to offer resources for tool developers and IVL designers. As validation for this comparison, we introduce two tools, ruby2boogie and ruby2pilar, to illustrate the translation from Ruby to Boogie and Pilar.

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. Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# Programming System: An Overview. In: Meyer, B., Woodcock, J. (eds.) VSTTE 2005. LNCS, vol. 4171, pp. 144–152. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  2. de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.P. (eds.): Formal Methods for Components and Objects, 4th International Symposium, FMCO 2005, November 1-4. LNCS, vol. 4111, pp. 243–258. Springer, Heidelberg (2005)

    Google Scholar 

  3. Böhme, S., Moskał, M., Schulte, W., Wolff, B.: Hol-boogiean interactive prover-backend for the verifying c compiler. Journal of Automated Reasoning 44, 111–144 (2010), http://dx.doi.org/10.1007/s10817-009-9142-9

    Article  MathSciNet  MATH  Google Scholar 

  4. Chrząszcz, J., Huisman, M., Schubert, A.: BML and Related Tools. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 278–297. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  5. Corbett, J.C., Dwyer, M.B., Hatcliff, J., Robby.: Expressing checkable properties of dynamic systems: The bandera specification language. International Journal on Software Tools for Technology Transfer (STFTT) (2002)

    Google Scholar 

  6. Dijkstra, E.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18(8), 453–457 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  7. Filliâtre, J.C., Marché, C.: The Why/Krakatoa/Caduceus Platform for Deductive Program Verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 173–177. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Flanagan, D., Matsumoto, Y.: The Ruby Programming Language, 1st edn. O’Reilly (2008)

    Google Scholar 

  9. Google Code: cofoja: Contracts for Java, http://code.google.com/p/cofoja/

  10. Grigore, R.: FreeBoogie, http://code.google.com/p/freeboogie

  11. Grigore, R.: Efficiency of Extended Static Checkers. Tech. rep., PhD Research Plan. UCD Dublin (December 2007)

    Google Scholar 

  12. Leavens, G.T., Baker, A.L., Ruby, C.: JML: A notation for detailed design. In: Kilov, H., Rumpe, B., Simmonds, I. (eds.) Behavioral Specifications of Businesses and Systems, pp. 175–188. Kluwer Academic Publishers, Boston (1999)

    Chapter  Google Scholar 

  13. Leino, K.R.M.: This is Boogie 2. Tech. Rep. KRML 178, Microsoft Research (June 2008)

    Google Scholar 

  14. Leino, K.: This is Boogie 2. Manuscript KRML 178 (2008)

    Google Scholar 

  15. Leino, K.: Verification tools at Microsoft (January 2009); Invited talk, Digiteo seminar

    Google Scholar 

  16. Robby: Sireum website, http://www.sireum.org

  17. Robby: Sireum: A Software Analysis Platform. SAnToS, Kansas State Univerity (February 2007)

    Google Scholar 

  18. Robby, Dwyer, M.B., Hatcliff, J.: Bogor: An extensible and highly-modular model checking framework. In: Proceedings of the 9th European Software Engineering Conference Held Jointly with the 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 267–276 (2003)

    Google Scholar 

  19. Segal, L.: Automatic program verification and test case generation of ruby programs. Tech. Rep. DSRG-TR-2011-02, Concordia University (2011)

    Google Scholar 

  20. Segal, L., Chalin, P.: A comparison of intermediate verification languages: Boogie and sireum/pilar. Tech. Rep. DSRG-TR-2011-01, Concordia University (2011)

    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

Segal, L., Chalin, P. (2012). A Comparison of Intermediate Verification Languages: Boogie and Sireum/Pilar. In: Joshi, R., Müller, P., Podelski, A. (eds) Verified Software: Theories, Tools, Experiments. VSTTE 2012. Lecture Notes in Computer Science, vol 7152. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27705-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27705-4_11

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics