• Title of article

    Sound refactorings

  • Author/Authors

    Marcio Cornelio، نويسنده , , Ana Cavalcanti، نويسنده , , Augusto Sampaio، نويسنده ,

  • Issue Information
    ماهنامه با شماره پیاپی سال 2010
  • Pages
    28
  • From page
    106
  • To page
    133
  • Abstract
    Refactoring consists in restructuring an object-oriented program without changing its behaviour. In this paper, we present refactorings as transformation rules for programs written in a refinement language inspired on Java that allows reasoning about object-oriented programs and specifications. A set of programming laws is available for the imperative constructs of this language as well as for its object-oriented features; soundness of the laws is proved against a weakest precondition semantics. The proof that the refactoring rules preserve behaviour (semantics) is accomplished by the application of these programming laws and data simulation. As illustration of our approach to refactoring, we use our rules to restructure a program to be in accordance with a design pattern.
  • Keywords
    formal methods , Refinement calculus , Refactoring , Object-oriented programming
  • Journal title
    Science of Computer Programming
  • Serial Year
    2010
  • Journal title
    Science of Computer Programming
  • Record number

    1080101