๐”– Bobbio Scriptorium
โœฆ   LIBER   โœฆ

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 hetero
โœ X.Y. Kou; S.T. Tan ๐Ÿ“‚ Article ๐Ÿ“… 2005 ๐Ÿ› Elsevier Science ๐ŸŒ English โš– 700 KB

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

A refactoring tool for smalltalk
โœ Roberts, Don; Brant, John; Johnson, Ralph ๐Ÿ“‚ Article ๐Ÿ“… 1997 ๐Ÿ› John Wiley and Sons ๐ŸŒ English โš– 202 KB

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