skip to main content
10.1145/3611096.3611102acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
short-paper

Documentation and Educational Materials for a 2nd Edition of the Java Modeling Language

Published:16 October 2023Publication History

ABSTRACT

JML is an ambitious project in formal specification and verification, ongoing since 1997, that has aimed to bring value to Java programmers. Participants in the project are now undertaking a significant revision of the language itself (Cok, Leavens, Ulbrich) and accompanying that with educational materials (Cok, Meija, Leavens), documentation rewrites and tool upgrades (Cok). The current state of this work-in-progress is presented here in order to encourage wide-spread contribution and comment on the language revisions, its semantics, the educational tutorial, and related tools.

References

  1. Wolfgang Ahrendt, Bernhard Beckert, Richard Bubel, Reiner Hähnle, Peter H. Schmitt, and Mattias Ulbrich. 2016. Deductive Software Verification – The KeY Book. In Lecture Notes in Computer Science.Google ScholarGoogle Scholar
  2. John Barnes. 2003. High Integrity Software: The SPARK Approach to Safety and Security. Addison Wesley, New York, NY.Google ScholarGoogle Scholar
  3. Mike Barnett, Robert DeLine, Manuel Fähndrich, K. Rustan M. Leino, and Wolfram Schulte. 2004. Verification of Object-Oriented Programs with Invariants. Journal of Object Technology 3, 6 (2004), 27–56. http://tinyurl.com/m2a8jGoogle ScholarGoogle ScholarCross RefCross Ref
  4. P. Baudin, P.Cuoq, J-C. Filliâtre, C. Marché, B. Monate, Y. Moy, and V. Prevosto. 2008ff. ACSL: ANSI C Specification Language. http://frama-c.com/download/acsl_1.4.pdf.Google ScholarGoogle Scholar
  5. David R. Cok. 2018. Reasoning about Functional Programming in Java and C++. In Companion Proceedings for the ISSTA/ECOOP 2018 Workshops (Amsterdam, Netherlands) (ISSTA ’18). Association for Computing Machinery, New York, NY, USA, 37–39. https://doi.org/10.1145/3236454.3236483Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. David R. Cok. 2021. JML and OpenJML for Java 16. In Proceedings of the 23rd ACM International Workshop on Formal Techniques for Java-like Programs (Virtual, Denmark) (FTfJP 2021). Association for Computing Machinery, New York, NY, USA, 65?67. https://doi.org/10.1145/3464971.3468417Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. David R. Cok. 2021. OpenJML web site. http://www.openjml.orgGoogle ScholarGoogle Scholar
  8. David R. Cok, Gary T. Leavens, and Mattias Ulbrich. 2022. Java Modeling Language (JML) Reference Manual, 2nd edition. In progress. https://www.openjml.org/documentation/JML_Reference_Manual.pdf.Google ScholarGoogle Scholar
  9. EPFL 2022. Stainless Verification Framework. EPFL, Lausanne, Switzerland. https://epfl-lara.github.io/stainless/intro.html.Google ScholarGoogle Scholar
  10. Frama-C 2007ff. Frama-C web site. https://frama-c.com.Google ScholarGoogle Scholar
  11. Key Project 1998ff. The KeY Project. https://www.key-project.orgGoogle ScholarGoogle Scholar
  12. Gary T. Leavens. 1997ff. JML web site. http://www.jmlspecs.org.Google ScholarGoogle Scholar
  13. Gary T. Leavens, Albert L. Baker, and Clyde Ruby. 2006. Preliminary Design of JML: A Behavioral Interface Specification Language for Java. Technical Report 98-06-rev29. Iowa State University, Department of Computer Science. ftp://ftp.cs.iastate.edu/pub/techreports/TR98-06/TR.pdf Also ACM SIGSOFT Software Engineering Notes, 31(3):1-38, March 2006..Google ScholarGoogle Scholar
  14. Gary T. Leavens, David R. Cok, and Amirfarhad Nilizadeh. 2022. Further Lessons from the JML Project. Accepted to appear, July 2022.Google ScholarGoogle Scholar
  15. K. Rustan M. Leino 2021. Dafny github site. https://github.com/dafny-lang/dafny. Accessed September 2021.Google ScholarGoogle Scholar
  16. K. Rustan M. Leino, Richard L. Ford, and David R. Cok. 2021. Dafny Reference Manual. https://github.com/dafny-lang/dafny/blob/master/docs/DafnyRef/out/DafnyRef.pdf.Google ScholarGoogle Scholar

Index Terms

  1. Documentation and Educational Materials for a 2nd Edition of the Java Modeling Language

    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 Other conferences
      FTfJP '22: Proceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs
      June 2022
      41 pages
      ISBN:9798400707841
      DOI:10.1145/3611096

      Copyright © 2022 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 the author(s) 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: 16 October 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate51of75submissions,68%
    • Article Metrics

      • Downloads (Last 12 months)7
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format