Results 1 - 10
of
41
An Overview of JML Tools and Applications
, 2003
"... The Java Modeling Language (JML) can be used to specify the detailed design of Java classes and interfaces by adding annotations to Java source files. The aim of JML is to provide a specification language that is easy to use for Java programmers and that is supported by a wide range of tools for ..."
Abstract
-
Cited by 243 (42 self)
- Add to MetaCart
The Java Modeling Language (JML) can be used to specify the detailed design of Java classes and interfaces by adding annotations to Java source files. The aim of JML is to provide a specification language that is easy to use for Java programmers and that is supported by a wide range of tools for specification type-checking, runtime debugging, static analysis, and verification. This paper
Specification and verification challenges for sequential object-oriented programs
- UNDER CONSIDERATION FOR PUBLICATION IN FORMAL ASPECTS OF COMPUTING
"... The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in the last several years. This paper describes several remaining challenges and app ..."
Abstract
-
Cited by 44 (4 self)
- Add to MetaCart
The state of knowledge in how to specify sequential programs in object-oriented languages such as Java and C# and the state of the art in automated verification tools for such programs have made measurable progress in the last several years. This paper describes several remaining challenges and approaches to their solution.
A verification methodology for model fields
"... Model fields are specification-only fields that encode abstractions of the concrete state of a data structure. They allow specifications to describe the behavior of object-oriented programs without exposing implementation details. This paper presents a sound verification methodology for model fields ..."
Abstract
-
Cited by 34 (8 self)
- Add to MetaCart
Model fields are specification-only fields that encode abstractions of the concrete state of a data structure. They allow specifications to describe the behavior of object-oriented programs without exposing implementation details. This paper presents a sound verification methodology for model fields that handles object-oriented features, supports data abstraction, and can be applied to a variety of realistic programs. The key innovation of the methodology is a novel encoding of model fields, where updates of the concrete state do not automatically change the values of model fields. Model fields are updated only by a special pack statement. The methodology guarantees that the specified relation between a model field and the concrete state of an object holds whenever the object is valid, that is, is known to satisfy its invariant. The methodology also improves on previous work in three significant ways: First, the formalization of model fields prevents unsoundness, even if an interface specification is inconsistent. Second, the methodology fully supports inheritance. Third, the methodology enables modular reasoning about frame properties without using explicit dependencies, which are not handled well by automatic theorem provers.
Design by Contract with JML
, 2006
"... This document gives a tutorial introduction to the ..."
Abstract
-
Cited by 22 (0 self)
- Add to MetaCart
This document gives a tutorial introduction to the
Reasoning about Method Calls in Interface Specifications
- JOURNAL OF OBJECT TECHNOLOGY
, 2006
"... ... In this paper, we illustrate the subtle problems any encoding of method calls in specifications has to address. We present a sound encoding that allows side-effect free methods to create and initialize objects by explicitly modeling such modifications of the heap. ..."
Abstract
-
Cited by 19 (11 self)
- Add to MetaCart
... In this paper, we illustrate the subtle problems any encoding of method calls in specifications has to address. We present a sound encoding that allows side-effect free methods to create and initialize objects by explicitly modeling such modifications of the heap.
The Spec# Programming System: Challenges and Directions
- IN PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS
, 2005
"... ..."
Specifying and Checking Method Call Sequences of Java Programs
- Proceedings of the 2005 International Conference on Software Engineering Research and Practice (SERP ’05), Volume II, Las Vegas
, 2005
"... invariants, mechanical verifications, pre- and post-conditions, specification techniques; ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
invariants, mechanical verifications, pre- and post-conditions, specification techniques;
Verifying JML specifications with model fields
- In Formal Techniques for Java-like Programs. Proceedings of the ECOOP’2003 Workshop
, 2003
"... The specification language JML (Java Modeling Language) provides model fields as a means to abstract away from implementation details in specifications. This paper investigates how specifications with model fields can be translated to proof obligations. In order to do this, the semantics of mod ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
The specification language JML (Java Modeling Language) provides model fields as a means to abstract away from implementation details in specifications. This paper investigates how specifications with model fields can be translated to proof obligations. In order to do this, the semantics of model fields has to be made precise.

