Software restructuring: implementing a code abstraction transformation

  • Authors:
  • Jacques Eloff

  • Affiliations:
  • University of Stellenbosch

  • Venue:
  • SAICSIT '02 Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software restructuring is a form of perfective maintenance that modifies the structure of a program's source code. Its goal is increased maintainability to better facilitate other maintenance activities, such as adding new functionality to, or correcting previously undetected errors within a software system. Changes to the structure are introduced through the application of transformations. Manually transforming the source code may introduce undesirable as well as undetectable changes in the system's behaviour. It is very difficult to ensure that manual restructuring preserves functionality and guaranteeing it is almost impossible. The problems associated with manual restructuring can be addressed by using a restructuring tool to automatically apply transformations. The majority of restructuring tools apply transformations by manipulating abstract program representations and specify the conditions of the transformation in terms of the representation structure. The context entity graph as program representation was developed to support specific language constructs, but can be adapted to support a variety of programming languages. The implementation of a code abstraction transformation in terms of this structure is examined and various improvements are also suggested.