W.G. Griswold, D. Notkin, "Automated assistance for program restructuring",
Transactions on Software Engineering and Methodology, ACM,
vol.2, (no.3):228-69, July 1993.
Abstract
Maintenance tends to degrade the structure of software, ultimately
making maintenance more costly. By separating structural manipulations
from other maintenance activities, the semantics of a system can be held
constant by a tool, assuring that no errors are introduced by
restructuring. To allow the maintenance team to focus on the aspects of
restructuring and maintenance requiring human judgment, a
transformation-based tool can be provided-based on a model that exploits
preserving data flow dependence and control flow dependence-to automate
the repetitive, error-prone, and computationally demanding aspects of
restructuring. A set of automatable transformations is introduced; their
impact on structure is described, and their usefulness is demonstrated in
examples. A model to aid building meaning-preserving restructuring
transformations is described, and its realization in a functioning
prototype tool for restructuring Scheme programs is discussed.