Using CafeOBJ to Mechanise Refactoring Proofs and Application

  • Authors:
  • Antonio Carvalho Júnior;Leila Silva;Márcio Cornélio

  • Affiliations:
  • Departamento de Ciência da Computação e Estatística, Universidade Federal de Sergipe (UFS), CEP 41900-000 -- São Cristóvão -- SE, Brazil;Departamento de Ciência da Computação e Estatística, Universidade Federal de Sergipe (UFS), CEP 41900-000 -- São Cristóvão -- SE, Brazil;Departamento de Sistemas Computacionais, Escola Politécnica -- Universidade de Pernambuco (UPE), Rua Benfica, 455 -- 50750-410, Recife -- PE, Brazil

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we show how rewriting systems, in particular CafeOBJ, can be used to automatically prove refactoring rules. In addition, a small case study that illustrates the application of a refactoring rule in an arbitrary program is also developed. Our approach is based on a sequential object-oriented language of refinement (rool) similar to Java. We have implemented the rool grammar in CafeOBJ, as well as the laws that define its semantics. Each refactoring rule is derived by the application of these laws, in a constructive way. The refactorings are also implemented in CafeOBJ, allowing the reduction of an arbitrary program.