A Hierarchical Program Representation for Refactoring
โ Scribed by Niels Van Eetvelde; Dirk Janssens
- Publisher
- Elsevier Science
- Year
- 2003
- Tongue
- English
- Weight
- 180 KB
- Volume
- 82
- Category
- Article
- ISSN
- 1571-0661
No coin nor oath required. For personal study only.
โฆ Synopsis
Currently there is a lot of interest in graph representations of software systems, as they provide a natural and flexible means to describe complex structures. The various visual sublanguages of the UML are perhaps the most obvious example of this. In [11] a graph representation of object-oriented programs was presented that enables one to describe refactoring operations (behaviour-preserving changes in the structure of a program) in a formal, concise way by graph rewriting productions. In general, however, a refactoring makes changes to a small part of a program, so the graph representation should only contain the information needed to carry out that refactoring. All other details are redundant and make the graph unnecessarily large for good visualization. A possible solution consists in using a hierarchical representation. Such a representation of object-oriented programs is presented in this paper. It is based on node-rewriting graph productions: each refinement step corresponds to a production. The construction is illustrated by applying it to a small Java simulation of a Local Area Network.
๐ SIMILAR VOLUMES
A hierarchical representation for heterogeneous object modeling is presented in this paper. To model a heterogeneous object, Boundary representation is used for geometry representation, and a novel Heterogeneous Feature Tree (HFT) structure is proposed to represent the material distributions. HFT st
Refactoring is an important part of the evolution of reusable software and frameworks. Its uses range from the seemingly trivial, such as renaming program elements, to the profound, such as retrofitting design patterns into an existing system. Despite its importance, lack of tool support forces prog