Advertisement

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

  • Loren Segal
  • Patrice Chalin
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Model Check Source Language Test Case Generation Java Modeling Language Tool Developer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)CrossRefGoogle Scholar
  2. 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. 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 MathSciNetCrossRefzbMATHGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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. 6.
    Dijkstra, E.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18(8), 453–457 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 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)CrossRefGoogle Scholar
  8. 8.
    Flanagan, D., Matsumoto, Y.: The Ruby Programming Language, 1st edn. O’Reilly (2008)Google Scholar
  9. 9.
    Google Code: cofoja: Contracts for Java, http://code.google.com/p/cofoja/
  10. 10.
    Grigore, R.: FreeBoogie, http://code.google.com/p/freeboogie
  11. 11.
    Grigore, R.: Efficiency of Extended Static Checkers. Tech. rep., PhD Research Plan. UCD Dublin (December 2007)Google Scholar
  12. 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)CrossRefGoogle Scholar
  13. 13.
    Leino, K.R.M.: This is Boogie 2. Tech. Rep. KRML 178, Microsoft Research (June 2008)Google Scholar
  14. 14.
    Leino, K.: This is Boogie 2. Manuscript KRML 178 (2008)Google Scholar
  15. 15.
    Leino, K.: Verification tools at Microsoft (January 2009); Invited talk, Digiteo seminarGoogle Scholar
  16. 16.
    Robby: Sireum website, http://www.sireum.org
  17. 17.
    Robby: Sireum: A Software Analysis Platform. SAnToS, Kansas State Univerity (February 2007)Google Scholar
  18. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Loren Segal
    • 1
  • Patrice Chalin
    • 2
  1. 1.Dependable Software Research GroupConcordia UniversityMontrealCanada
  2. 2.Kansas State UniversityManhattanUSA

Personalised recommendations