| Tutorial on JML, the java modeling language |
| Full text |
Pdf
(116 KB)
|
Source
|
Automated Software Engineering
archive
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
table of contents
Atlanta, Georgia, USA
TUTORIAL SESSION: Mini-tutorials
table of contents
Pages 573-573
Year of Publication: 2007
ISBN:978-1-59593-882-4
|
|
Author
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 14, Downloads (12 Months): 112, Citation Count: 1
|
|
|
ABSTRACT
The Java Modeling Language (JML) is widely used in academic research as a common language for formal methods tools that work with Java. JML is a design by contract language that can be used to specify detailed designs of Java programs, frameworks, and class libraries. Over twenty research groups worldwide have built several tools for checking code and finding bugs (see jmlspecs.org). This tutorial will give background for researchers and practitioners interested in doing formal methods research and in using JML for specifying the sequential behavior of Java classes and interfaces. Attendees will write JML specifications for a data type, including pre- and postconditions for methods and object invariants. They will also learn how to use the most important JML tools. In addition, they will learn how to use model fields to hide the actual field declarations in classes, and how JML supports modular reasoning about subtypes with behavioral subtyping
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Lilian Burdy , Yoonsik Cheon , David R. Cok , Michael D. Ernst , Joseph R. Kiniry , Gary T. Leavens , K. Rustan M. Leino , Erik Poll, An overview of JML tools and applications, International Journal on Software Tools for Technology Transfer (STTT), v.7 n.3, p.212-232, June 2005
[doi> 10.1007/s10009-004-0167-4]
|
| |
2
|
G. T. Leavens. JML's rich, inherited specifications for behavioral subtypes. In Z. Liu and H. Jifeng, editors, Formal Methods and Software Engineering: 8th International Conference on Formal Engineering Methods (ICFEM), volume 4260 of Lecture Notes in Computer Science, pages 2--34, New York, NY, Nov. 2006. Springer-Verlag.
|
 |
3
|
|
| |
4
|
G. T. Leavens, J. R. Kiniry, and E. Poll. A JML tutorial: Modular specification and verification of functional behavior for Java. In W. Damm and H. Hermanns, editors, Computer Aided Verification 2007, volume 4590 of Lecture Notes in Computer Science, page 37, Berlin, July 2007. Springer-Verlag.
|
| |
5
|
G. T. Leavens, E. Poll, C. Clifton, Y. Cheon, C. Ruby, D. R. Cok, P. Müller, J. Kiniry, and P. Chalin. JML Reference Manual. Available from http://www.jmlspecs.org, Feb. 2007.
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.1
Requirements/Specifications
Subjects:
Languages
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.1
Requirements/Specifications
Subjects:
Tools
D.2.4
Software/Program Verification
Subjects:
Assertion checkers;
Formal methods;
Programming by contract;
Class invariants
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
F.3.1
Specifying and Verifying and Reasoning about Programs
Subjects:
Pre- and post-conditions;
Assertions;
Specification techniques;
Invariants
General Terms:
Languages,
Verification
Keywords:
assertion,
behavioral subtype,
design by contract,
extended static checking,
information hiding,
invariant,
java modeling language (JML),
model field,
runtime assertion checking,
specification,
specification inheritance,
tool,
verification
|