skip to main content
10.1145/3464971.3468417acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
short-paper

JML and OpenJML for Java 16

Published: 11 July 2021 Publication History

Abstract

As the Java language evolves, the Java Modeling Language (JML) and the OpenJML deductive verification tool must evolve with it. Changes in Java since Java 8 bring language and organizational changes which affect the semantics of JML and the implementation of OpenJML. They also raise questions about language definition, joint efforts, and community engagement, some enumerated in this paper, for the Java formal reasoning community to address.

References

[1]
2016. Deductive Software Verification - The KeY Book - From Theory to Practice, Wolfgang Ahrendt, Bernhard Beckert, Richard Bubel, Reiner Hähnle, Peter H. Schmitt, and Mattias Ulbrich (Eds.) (Lecture Notes in Computer Science, Vol. 10001). Springer, Berlin, Heidelberg. isbn:978-3-319-49811-9 https://doi.org/10.1007/978-3-319-49812-6
[2]
Lilian Burdy, Yoonsik Cheon, David R. Cok, Michael D. Ernst, Joeseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll. 2003. An overview of JML tools and applications. In Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 03), Thomas Arts and Wan Fokkink (Eds.) (Electronic Notes in Theoretical Computer Science (ENTCS), Vol. 80). Elsevier, Netherlands. 73–89. http://www.sciencedirect.com/science/journal/15710661
[3]
David Cok. 2010. Improved usability and performance of SMT solvers for debugging specifications. STTT, 12 (2010), 467–481. issn:1433-2779
[4]
David R. Cok. 2011. OpenJML: JML for Java 7 by Extending OpenJDK. In NASA Formal Methods, Mihaela Bobaru, Klaus Havelund, GerardJ. Holzmann, and Rajeev Joshi (Eds.) (Lecture Notes in Computer Science, Vol. 6617). Springer, Berlin, Heidelberg. 472–479. isbn:978-3-642-20397-8 https://doi.org/10.1007/978-3-642-20398-5_35
[5]
David R. Cok. 2014. OpenJML: Software verification for Java 7 using JML, OpenJDK, and Eclipse. In Workshop on Formal Integrated Development Environment (F-IDE 2014), Catherine Dubois, Dimitra Giannakopoulou, and Dominique Méry (Eds.) (EPTCS, Vol. 149). Open Publishing Association, Grenoble, France. 79–92. https://doi.org/10.4204/EPTCS.149.8 Grenoble, France.
[6]
David R. Cok. 2021. http://www.openjml.org
[7]
David R. Cok and Joseph R. Kiniry. 2005. ESC/Java2: Uniting ESC/Java and JML: Progress and issues in building and using ESC/Java2, including a case study involving the use of the tool to verify portions of an Internet voting tally system. In Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS 2004), Gilles Barthe, Lilian Burdy, Marieke Huisman, Jean-Louis Lanet, and Traian Muntean (Eds.) (Lecture Notes in Computer Science, Vol. 3362). Springer, Berlin, Heidelberg. 108–128. https://doi.org/10.1007/b105030
[8]
David R. Cok and Serdar Tasiran. 2018. Practical Methods for Reasoning about Java 8’s Functional Programming Features. VSTTE 2018.
[9]
Werner Dietl, Stephanie Dietzel, Michael D. Ernst, Kıvanç Muşlu, and Todd Schiller. 2011. Building and using pluggable type-checkers. In ICSE’11, Proceedings of the 33rd International Conference on Software Engineering. ACM, Waikiki, Hawaii, USA. 681–690.
[10]
Marieke Huisman and Raúl E. Monti. 2020. On the Industrial Application of Critical Software Verification with VerCors. In Leveraging Applications of Formal Methods, Verification and Validation: Applications, Tiziana Margaria and Bernhard Steffen (Eds.). Springer, Berlin, Heidelberg. 273–292. isbn:978-3-030-61467-6 https://doi.org/10.1007/978-3-030-61467-6_18
[11]
Bart Jacobs, Jan Smans, Pieter Philippaerts, Frédéric Vogels, Willem Penninckx, and Frank Piessens. 2011. VeriFast: A Powerful, Sound, Predictable, Fast Verifier for C and Java. In Proceedings of the Third International Conference on NASA Formal Methods (NFM’11). Springer, Berlin, Heidelberg. 41–55. isbn:9783642203978
[12]
Gary Leavens. 2021. Many papers regarding JML can be found on the JML web site:. http://www.jmlspecs.org

Cited By

View all
  • (2024)JMLKelinci+: Detecting Semantic Bugs and Covering Branches with Valid Inputs Using Coverage-guided Fuzzing and Runtime Assertion CheckingFormal Aspects of Computing10.1145/360753836:1(1-24)Online publication date: 20-Mar-2024
  • (2024)Does Going Beyond Branch Coverage Make Program Repair Tools More Reliable?2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00033(281-292)Online publication date: 27-May-2024
  • (2024)Static and Dynamic Verification of OCaml Programs: The Gospel EcosystemLeveraging Applications of Formal Methods, Verification and Validation. Specification and Verification10.1007/978-3-031-75380-0_14(247-265)Online publication date: 27-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FTfJP '21: Proceedings of the 23rd ACM International Workshop on Formal Techniques for Java-like Programs
July 2021
67 pages
ISBN:9781450385435
DOI:10.1145/3464971
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 July 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. JML
  2. Java Modeling Language
  3. OpenJML
  4. deductive verification
  5. software verification

Qualifiers

  • Short-paper

Conference

ISSTA '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 75 submissions, 68%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)1
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)JMLKelinci+: Detecting Semantic Bugs and Covering Branches with Valid Inputs Using Coverage-guided Fuzzing and Runtime Assertion CheckingFormal Aspects of Computing10.1145/360753836:1(1-24)Online publication date: 20-Mar-2024
  • (2024)Does Going Beyond Branch Coverage Make Program Repair Tools More Reliable?2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00033(281-292)Online publication date: 27-May-2024
  • (2024)Static and Dynamic Verification of OCaml Programs: The Gospel EcosystemLeveraging Applications of Formal Methods, Verification and Validation. Specification and Verification10.1007/978-3-031-75380-0_14(247-265)Online publication date: 27-Oct-2024
  • (2023)A failed proof can yield a useful testSoftware Testing, Verification and Reliability10.1002/stvr.185933:7Online publication date: 31-Aug-2023
  • (2022)Automated Reasoning RepairProceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs10.1145/3611096.3611099(11-14)Online publication date: 7-Jun-2022
  • (2022)Verifying OpenJDK’s LinkedList using KeY (extended paper)International Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-022-00679-724:5(783-802)Online publication date: 1-Oct-2022
  • (2022)Abstraction in Deductive Verification: Model Fields and Model MethodsLeveraging Applications of Formal Methods, Verification and Validation. Verification Principles10.1007/978-3-031-19849-6_3(29-44)Online publication date: 22-Oct-2022
  • (2022)Specifying the Boundary Between Unverified and Verified CodeThe Logic of Software. A Tasting Menu of Formal Methods10.1007/978-3-031-08166-8_6(105-128)Online publication date: 4-Jul-2022
  • (2022)Further Lessons from the JML ProjectThe Logic of Software. A Tasting Menu of Formal Methods10.1007/978-3-031-08166-8_15(313-349)Online publication date: 4-Jul-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media