Specification notations such as JML and Spec# which are embedded into program code provide a promising approach to formal object-oriented software development. If the program code is refactored, however, the specifications need also to be changed. This can be facilitated by specification refactoring rules which allows such changes to be made systematically along with the changes to the code. A set of minimal and complete set of refactoring rules have been devised for the Object-Z specification language. This paper reviews these rules as a basis for a similar approach for languages like JML and Spec#. Specifically, it modifies the rules for introducing and removing inheritance and polymorphism from specifications. While these concepts are or...
An object-oriented program consists of a section of class declarations and a main method. The class ...
Specification and verification for object oriented (OO) programs remains a great challenge despite o...
This paper is concerned with methods for refinement of specifications written using a combination of...
Object-Z offers an object-oriented means for structuring formal specifications. We investigate the a...
Formal methods provide rigorous approaches and proof mechanisms for the development and verification...
This paper presents a minimal and complete set of structural refactoring rules for the Object-Z spec...
Object-oriented programming laws have been proposed in the context of languages that are not combine...
Object-oriented programming laws have been proposed in the context of languages that are not com-bin...
Abstract. Refactoring is a method for improving the structure of pro-grams/specifications as to enha...
We present a strategy for using the existing theory of class refinement in Object-Z to introduce an ...
Formal specifications have been a focus of software engineering research for many years and have bee...
AbstractIn this paper we present how refactoring of object-oriented programs can be accomplished by ...
AbstractStatic variables and methods are part of almost every modern object-oriented programming lan...
207 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1992.This thesis defines a set of ...
Formal specifications of software systems need to evolve in many ways during system development. Not...
An object-oriented program consists of a section of class declarations and a main method. The class ...
Specification and verification for object oriented (OO) programs remains a great challenge despite o...
This paper is concerned with methods for refinement of specifications written using a combination of...
Object-Z offers an object-oriented means for structuring formal specifications. We investigate the a...
Formal methods provide rigorous approaches and proof mechanisms for the development and verification...
This paper presents a minimal and complete set of structural refactoring rules for the Object-Z spec...
Object-oriented programming laws have been proposed in the context of languages that are not combine...
Object-oriented programming laws have been proposed in the context of languages that are not com-bin...
Abstract. Refactoring is a method for improving the structure of pro-grams/specifications as to enha...
We present a strategy for using the existing theory of class refinement in Object-Z to introduce an ...
Formal specifications have been a focus of software engineering research for many years and have bee...
AbstractIn this paper we present how refactoring of object-oriented programs can be accomplished by ...
AbstractStatic variables and methods are part of almost every modern object-oriented programming lan...
207 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1992.This thesis defines a set of ...
Formal specifications of software systems need to evolve in many ways during system development. Not...
An object-oriented program consists of a section of class declarations and a main method. The class ...
Specification and verification for object oriented (OO) programs remains a great challenge despite o...
This paper is concerned with methods for refinement of specifications written using a combination of...