skip to main content
10.1145/1529282.1529410acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Extended static checking in JML4: benefits of multiple-prover support

Published:08 March 2009Publication History

ABSTRACT

The implementations of many seemingly simple algorithms are beyond the ability of traditional Extended Static Checking (ESC) tools to verify. Not being able to verify toy examples is often enough to turn users off of the idea of using formal methods. ESC4, the ESC component of the JML4 project, is able to verify many more kinds of methods in part because of its use of novel techniques which apply multiple theorem provers. In particular, we present Offline User-Assisted ESC (OUA-ESC), a new form of verification that lies between ESC and Full Static Program Verification (FSPV), that allows users to control the level of completeness of the tool. ESC4's improved performance should encourage greater use of static verification.

References

  1. Isabelle, 2008. Homepage at http://isabelle.in.tum.de.Google ScholarGoogle Scholar
  2. Metis theorem prover, 2008. Homepage at http://www.gilith.com/software/metis/.Google ScholarGoogle Scholar
  3. Proof General Eclipse, 2008. Homepage at http://proofgeneral.inf.ed.ac.uk/eclipse.Google ScholarGoogle Scholar
  4. Why: software verification platform, 2008. Homepage at http://why.lri.fr.Google ScholarGoogle Scholar
  5. Barnett, M., and Leino, K. R. M. Weakest-precondition of unstructured programs. In PASTE '05: The 6th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (New York, NY, 2005), ACM Press, pp. 82--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Barnett, M., Leino, K. R. M., and Schulte, W. The Spec# Programming System: An overview. In CASSIS 2004: International Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (2004), pp. 49--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Böhme, S., Leino, R., and Wolff, B. HOL-Boogie --- An interactive prover for the Boogie program verifier. In Proceedings of the 21th International Conference on Theorem proving in Higher-Order Logics (TPHOLs 2008) (2008), LNCS 5170, Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chalin, P., James, P. R., and Karabotsos, G. An integrated verification environment for JML: Architecture and early results. In SAVCBS '07: Proceedings of the 2007 Workshop on Specification and Verification of Component-Based Systems (2007), pp. 47--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chalin, P., James, P. R., and Karabotsos, G. JML4: Towards an industrial grade IVE for Java and next generation research platform for JML. In VSTTE '08: Proceedings of the 2008 Conference on Verified Systems: Theories, Tools, and Experiments (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cok, D. R., and Kiniry, J. R. ESC/Java2: Uniting ESC/Java and JML. In Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (2005), vol. 3362/2005 of LNCS, Springer Berlin, pp. 108--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Filliâtre, J.-C. The WHY verification tool: Tutorial and reference manual, 2008. Available at http://why.lri.fr.Google ScholarGoogle Scholar
  12. Filliâtre, J.-C., Hubert, T., and Marché, C. The Caduceus verification tool for C programs: Tutorial and reference manual, 2008. Available at http://caduceus.lri.fr.Google ScholarGoogle Scholar
  13. Flanagan, C., Leino, K. R. M., Lillibridge, M., Nelson, G., Saxe, J. B., and Stata, R. Extended static checking for java. In PLDI '02: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (New York, NY, 2002), ACM Press, pp. 234--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Karabotsos, G., Chalin, P., James, P. R., and Giannas, L. Total correctness of recursive functions using JML4FSPV. In SAVCBS '08: Proceedings of the 2008 Workshop on Specification and Verification of Component-Based Systems (2008).Google ScholarGoogle Scholar
  15. Kolman, B., and Busby, R. C. Discrete mathematical structures for computer science (2nd ed.). Prentice-Hall, Inc., Upper Saddle River, NJ, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Leavens, G. T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Müller, P., Kiniry, J., and Chalin, P. JML reference manual, 2008. Available at http://www.jmlspecs.org.Google ScholarGoogle Scholar
  17. Leino, K. R. M., and Monahan, R. Automatic verification of textbook programs that use comprehensions. In FTfJP '07: Proceedings of the 9th Workshop on Formal Techniques for Java-like Programs (2007).Google ScholarGoogle Scholar
  18. Nipkow, T., Paulson, L. C., and Wenzel, M. Isabelle/HOL---A Proof Assistant for Higher-Order Logic, vol. 2283 of LNCS. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Paulson, L. C., and Susanto, K. W. Source-level proof reconstruction for interactive theorem proving. In Theorem Proving in Higher Order Logics: TPHOLs 2007 (2007), K. Schneider and J. Brandt, Eds., LNCS 4732, Springer, pp. 232--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Wenzel, M. Isar - A generic interpretative approach to readable formal proof documents. In TPHOLs '99: Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics (London, UK, 1999), Springer-Verlag, pp. 167--184. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Extended static checking in JML4: benefits of multiple-prover support

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                SAC '09: Proceedings of the 2009 ACM symposium on Applied Computing
                March 2009
                2347 pages
                ISBN:9781605581668
                DOI:10.1145/1529282

                Copyright © 2009 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 8 March 2009

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate1,650of6,669submissions,25%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader