Refactoring and representation independence for class hierarchies

Leila Silva, David A. Naumann, Augusto Sampaio

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Scopus citations

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.

Original languageEnglish
Title of host publication24th European Conference on Object-Oriented Programming, ECOOP 2010 Workshop Proceedings - Workshop 5:12th Workshop on Formal Techniques for Java-Like Programs, FTFJP'10
DOIs
StatePublished - 2010
Event24th European Conference on Object-Oriented Programming, ECOOP 2010 - 12th Workshop on Formal Techniques for Java-Like Programs, FTFJP'10 - Maribor, Slovenia
Duration: 22 Jun 201022 Jun 2010

Publication series

Name24th European Conference on Object-Oriented Programming, ECOOP 2010 Workshop Proceedings - Workshop 5:12th Workshop on Formal Techniques for Java-Like Programs, FTFJP'10

Conference

Conference24th European Conference on Object-Oriented Programming, ECOOP 2010 - 12th Workshop on Formal Techniques for Java-Like Programs, FTFJP'10
Country/TerritorySlovenia
CityMaribor
Period22/06/1022/06/10

Fingerprint

Dive into the research topics of 'Refactoring and representation independence for class hierarchies'. Together they form a unique fingerprint.

Cite this