Refactoring and representation independence for class hierarchies: extended abstract

  • Authors:
  • Leila Silva;David A. Naumann;Augusto Sampaio

  • Affiliations:
  • Universidade Federal de, Sergipe, Brasil;Stevens Institute of Technology;Universidade Federal de, Pernambuco, Brasil

  • Venue:
  • Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Refactoring transformations are important for productivity and quality in software evolution. Modular reasoning about semantics preserving transformations is difficult even in typed class-based languages because transformations can change the internal representations for multiple interdependent classes and because encapsulation can be violated by pointers to mutable objects. In this paper, an existing theory of representation independence for a single class, based on a simple notion of ownership confinement, is generalized to a hierarchy of classes and used to prove several refactoring laws. Soundness of these laws was an open problem in an ongoing project on formal refactoring tools. The utility of the laws is shown in a case study. Shortcomings of the theory are described as a challenge to other approaches to heap encapsulation and relational reasoning for classes.