A Specification Language Design for the Java Modeling Language (JML) Using Java 5 Annotations

Saved in:
Bibliographic Details
Title: A Specification Language Design for the Java Modeling Language (JML) Using Java 5 Annotations
Authors: Taylor, Kristina
Contributors: Computer Science
Source: archive/lib.dr.iastate.edu/cs_techreports/307/TR08_03.pdf|||Fri Jan 14 23:29:14 UTC 2022
Publication Year: 2008
Collection: Digital Repository @ Iowa State University
Subject Terms: Software Engineering, JML annotation specification
Description: Design by contract specification languages help programmers write their intentions for a piece of code in a formal mathematical language. Most programming languages do not have built-in syntax for such specifications, so many design by contract languages place specifications in comments. The Java Modeling Language (JML) is one such specification language for Java that uses comments to specify contracts. However, starting with version 5, Java has introduced annotations, a syntactical structure to place metadata in various places in the code. This thesis proposes an initial design to writing JML contracts in the Java 5 annotation syntax and evaluates several criteria in the areas of specification languages and Java language design: whether these annotations are expressive enough to take advantage of annotation simplicity and tool support, and whether the annotation syntax is expressive enough to support handling a large specification language such as JML.
Document Type: article in journal/newspaper
File Description: application/pdf
Language: unknown
Relation: archive/lib.dr.iastate.edu/cs_techreports/307/; 1328; 5540321; cs_techreports/307; https://dr.lib.iastate.edu/handle/20.500.12876/20136
Availability: https://dr.lib.iastate.edu/handle/20.500.12876/20136
https://hdl.handle.net/20.500.12876/20136
Accession Number: edsbas.DF105FC9
Database: BASE
Description
Abstract:Design by contract specification languages help programmers write their intentions for a piece of code in a formal mathematical language. Most programming languages do not have built-in syntax for such specifications, so many design by contract languages place specifications in comments. The Java Modeling Language (JML) is one such specification language for Java that uses comments to specify contracts. However, starting with version 5, Java has introduced annotations, a syntactical structure to place metadata in various places in the code. This thesis proposes an initial design to writing JML contracts in the Java 5 annotation syntax and evaluates several criteria in the areas of specification languages and Java language design: whether these annotations are expressive enough to take advantage of annotation simplicity and tool support, and whether the annotation syntax is expressive enough to support handling a large specification language such as JML.