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. |
Year | DOI | Venue |
---|---|---|
2010 | 10.1145/1924520.1924528 | FTfJP@ECOOP |
Field | DocType | Citations |
Pointer (computer programming),Open problem,Programming language,Computer science,Theoretical computer science,Heap (data structure),Soundness,Software evolution,Hierarchy,Code refactoring,Semantics | Conference | 3 |
PageRank | References | Authors |
0.44 | 12 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Leila Silva | 1 | 78 | 10.11 |
David Naumann | 2 | 1101 | 84.12 |
Augusto Sampaio | 3 | 96 | 13.42 |