• DocumentCode
    1687754
  • Title

    Refactoring Object-Oriented Specifications with Inheritance-Based Polymorphism

  • Author

    Smith, Graeme ; Helke, Steffen

  • Author_Institution
    Sch. of Inf. Technol. & Electr. Eng., Univ. of Queensland, Brisbane, QLD, Australia
  • fYear
    2011
  • Firstpage
    35
  • Lastpage
    41
  • Abstract
    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 orthogonal in Object-Z, they are closely intertwined in the other notations.
  • Keywords
    formal languages; formal specification; object-oriented methods; software engineering; JML; Spec#; formal object-oriented software development; inheritance-based polymorphism; object-Z specification language; program code; specification notations; specification refactoring rules; Annealing; Context; Educational institutions; Electronic mail; Games; Programming; Software engineering; object-oriented refactoring; object-z;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Theoretical Aspects of Software Engineering (TASE), 2011 Fifth International Symposium on
  • Conference_Location
    Xi´an, Shaanxi
  • Print_ISBN
    978-1-4577-1487-0
  • Type

    conf

  • DOI
    10.1109/TASE.2011.31
  • Filename
    6042061