JML Reference Manual 2013
User Manual:
Open the PDF directly: View PDF
Page Count: 209 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Introduction
- Fundamental Concepts
- Syntax Notation
- Lexical Conventions
- Compilation Units
- Type Declarations
- Class and Interface Member Declarations
- Type Specifications
- Method Specifications
- Basic Concepts in Method Specification
- Organization of Method Specifications
- Access Control in Specification Cases
- Lightweight Specification Cases
- Heavyweight Specification Cases
- Behavior Specification Cases
- Normal Behavior Specification Cases
- Exceptional Behavior Specification Cases
- Method Specification Clauses
- Data Groups
- Specification Inheritance
- Predicates and Specification Expressions
- Predicates
- Specification Expressions
- Expressions
- JML Primary Expressions
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }result
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }old and {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }pre
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }not_assigned
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }not_modified
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }only_accessed
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }only_assigned
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }only_called
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }only_captured
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }fresh
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }reach
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }duration
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }space
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }working_space
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }nonnullelements
- Informal Predicates
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }typeof
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }elemtype
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }type
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }lockset
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }max
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }is_initialized
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }invariant_for
- {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }lblneg and {@fam =@ttfam @def rm{tt}@tentt @backslashcurfont }lblpos
- Quantified Expressions
- Set Comprehensions
- JML Operators
- Store Refs
- Statements and Annotation Statements
- Redundancy
- Model Programs
- Specification for Subtypes
- Separate Files for Specifications
- Universe Type System
- Safe Math Extensions
- Deprecated and Replaced Syntax
- Incompatible Changes
- Grammar Summary
- Lexical Conventions
- Compilation Units
- Type Declarations
- Class and Interface Member Declarations
- Type Specifications
- Method Specifications
- Data Groups
- Specification Inheritance
- Predicates and Specification Expressions
- Statements and Annotation Statements
- Redundancy
- Model Programs
- Specification for Subtypes
- Separate Files for Specifications
- Universe Type System
- Safe Math Extensions
- Modifier Summary
- Type Checking Summary
- Verification Logic Summary
- Differences
- What's Missing
- Bibliography
- Index