Skip to main content

JML4: Towards an Industrial Grade IVE for Java and Next Generation Research Platform for JML

  • Conference paper

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

Abstract

Tool support for the Java Modeling Language (JML) is a very pressing problem. A main issue with current tools is their architecture: the cost of keeping up with the evolution of Java is prohibitively high: e.g., Java 5 has yet to be fully supported. This paper presents JML4, our proposal for an Integrated Verification Environment (IVE) for JML that builds upon Eclipse’s support for Java, enhancing it with Run time Assertion Checking (RAC), Extended Static Checking (ESC) and Full Static Program Verification (FSPV). Though it currently only supports a subset of JML, we believe that JML4 is the first IVE to support such a full range of verification techniques for a mainstream programming language.

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. Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY Tool. SoSyM 4, 32–54 (2005)

    Article  Google Scholar 

  2. Aspinall, D.: Proof General (2008), http://proofgeneral.inf.ed.ac.uk

  3. Barnes, J.: High Integrity Software: The Spark Approach to Safety and Security. AW (2003)

    Google Scholar 

  4. Barnett, M., Leino, K.R.M.: Weakest-Precondition of Unstructured Programs. In: Workshop on Program Analysis for Software Tools and Engineering (PASTE), Lisbon, Portugal. ACM Press, New York (2005)

    Google Scholar 

  5. Barthe, G., Burdy, L., Charles, J., Grégoire, B., Huisman, M., Lanet, J.-L., Pavlova, M., Requet, A.: JACK: a tool for validation of security and behaviour of Java applications. In: Proceedings of the 5th International Symposium on Formal Methods for Components and Objects (FMCO) (2007)

    Google Scholar 

  6. Burdy, L., Cheon, Y., Cok, D.R., Ernst, M.D., Kiniry, J.R., Leavens, G.T., Leino, K.R.M., Poll, E.: An Overview of JML Tools and Applications. International Journal on Software Tools for Technology Transfer (STTT) 7(3), 212–232 (2005)

    Article  Google Scholar 

  7. Burdy, L., Huisman, M., Pavlova, M.: Preliminary Design of BML: A Behavioral Interface Specification Language For Java Bytecode. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 215–229. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Burdy, L., Requet, A., Lanet, J.-L.: Java Applet Correctness: A Developer-Oriented Approach. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 422–439. Springer, Heidelberg (2003)

    Google Scholar 

  9. Chalin, P., James, P.R.: Non-null References by Default in Java: Alleviating the Nullity Annotation Burden. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  10. Chalin, P., James, P.R., Karabotsos, G.: An Integrated Verification Environment for JML: Architecture and Early Results. In: Proceedings of the Sixth International Workshop on Specification and Verification of Component-Based Systems (SAVCBS), Cavtat, Croatia, September 3-4, pp. 47–53. ACM, New York (2007)

    Google Scholar 

  11. Chalin, P., James, P.R., Rioux, F., Karabotsos, G.: Towards a Verified Software Repository Candidate: Cross-Verifying a Verifier, Concordia University, Dependable Software Research Group Technical Report (2008)

    Google Scholar 

  12. Chalin, P., Kiniry, J., Leavens, G.T., Poll, E.: Beyond Assertions: Advanced Specification and Verification with JML and ESC/Java2. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 342–363. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Cheon, Y.: A Runtime Assertion Checker for the Java Modeling Language, Iowa State University, Ph.D. Thesis, also TR #03-09 (April 2003)

    Google Scholar 

  14. Cok, D.R.: Design Notes (Eclipse.txt) (2007), http://jmlspecs.svn.sourceforge.net/viewvc/jmlspecs/trunk/docs/eclipse.txt

  15. Cok, D.R., Kiniry, J.R.: ESC/Java2: Uniting ESC/Java and JML. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 108–128. Springer, Heidelberg (2005)

    Google Scholar 

  16. Deng, X., Robby, Hatcliff, J.: Kiasan/KUnit: Automatic Test Case Generation and Analysis Feedback for Open Object-oriented Systems, Kansas State University (2007)

    Google Scholar 

  17. Ernst, M., Coward, D.: Annotations on Java Types, JCP.org., JSR 308, October 17 (2006)

    Google Scholar 

  18. Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: Proc. of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), vol. 37(5), pp. 234–245. ACM Press, New York (2002)

    Google Scholar 

  19. Haddad, G., Leavens, G.T.: Extensible Dynamic Analysis for JML: A Case Study with Loop Annotations, University of Central Florida CS-TR-08-05 (April 2008)

    Google Scholar 

  20. Leavens, G.T.: The Java Modeling Language (JML) (2007), http://www.jmlspecs.org

  21. Leavens, G.T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Müller, P., Kiniry, J., Chalin, P.: JML Reference Manual (2007), http://www.jmlspecs.org

  22. Robby, P.C., Cok, D.R., Leavens, G.T.: An Evaluation of The Eclipse Java Development Tools (JDT) as a Foundational Basis for JML Reloaded (2008), jmlspecs.svn/reloaded/planning

  23. Schirmer, N.: A Sequential Imperative Programming Language Syntax, Semantics, Hoare Logics and Verification Environment. In: Isabelle Archive of Formal Proofs (2008)

    Google Scholar 

  24. Taylor, K.B.: A specification language design for the Java Modeling Language (JML) using Java 5 annotations. Masters thesis, Iowa State University (2008)

    Google Scholar 

  25. van den Berg, J., Jacobs, B.: The LOOP compiler for Java and JML. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 299–312. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  26. Wilson, T., Maharaj, S., Clark, R.G.: Omnibus: A Clean Language and Supporting Tool for Integrating Different Assertion-Based Verification Techniques. In: Proceedings of the Proceedings of REFT 2005, Newcastle, UK (July 2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Natarajan Shankar Jim Woodcock

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chalin, P., James, P.R., Karabotsos, G. (2008). JML4: Towards an Industrial Grade IVE for Java and Next Generation Research Platform for JML. In: Shankar, N., Woodcock, J. (eds) Verified Software: Theories, Tools, Experiments. VSTTE 2008. Lecture Notes in Computer Science, vol 5295. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87873-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-87873-5_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-87872-8

  • Online ISBN: 978-3-540-87873-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics