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

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

Published: 16 October 2023 Publication 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.
[2]
John Barnes. 2003. High Integrity Software: The SPARK Approach to Safety and Security. Addison Wesley, New York, NY.
[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/m2a8j
[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.
[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.3236483
[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.3468417
[7]
David R. Cok. 2021. OpenJML web site. http://www.openjml.org
[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.
[9]
EPFL 2022. Stainless Verification Framework. EPFL, Lausanne, Switzerland. https://epfl-lara.github.io/stainless/intro.html.
[10]
Frama-C 2007ff. Frama-C web site. https://frama-c.com.
[11]
Key Project 1998ff. The KeY Project. https://www.key-project.org
[12]
Gary T. Leavens. 1997ff. JML web site. http://www.jmlspecs.org.
[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.
[14]
Gary T. Leavens, David R. Cok, and Amirfarhad Nilizadeh. 2022. Further Lessons from the JML Project. Accepted to appear, July 2022.
[15]
K. Rustan M. Leino 2021. Dafny github site. https://github.com/dafny-lang/dafny. Accessed September 2021.
[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.

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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 for this article.

    Check for updates

    Author Tags

    1. JML
    2. Java Modeling Language
    3. OpenJML
    4. deductive verification
    5. formal methods education
    6. software verification

    Qualifiers

    • Short-paper
    • Research
    • Refereed limited

    Conference

    FTfJP '22

    Acceptance Rates

    Overall Acceptance Rate 51 of 75 submissions, 68%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 10
      Total Downloads
    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 30 Jan 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media