Program Improvement by Source-to-Source Transformation

  • Authors:
  • David B. Loveman

  • Affiliations:
  • Massachusetts Computer Associates, Inc., 26 Princess Street, Wakefield, MA

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 1977

Quantified Score

Hi-index 0.04

Visualization

Abstract

The use of source-to-source program transformations has proved valuable in improving program performance. The concept of program manipulation is elucidated by describing its role in both conventional optimization and high level modification of conditional, looping, and procedure structures. An example program fragment written in an Algol-like language is greatly improved by transformations enabled by a user-provided assertion about a data array. A compilation model based on the use of source-to-source program transformations is used to provide a framework for discussing issues of code generation, compilation of high level languages such as APL, and eliminating overhead commonly associated with modular structured programming. Application of the compilation model to several different languages is discussed.