A case study on proving transformations correct: data-parallel conversion

  • Authors:
  • Stephen Fitzpatrick;M. Clint;P. Kilpatrick

  • Affiliations:
  • Kestrel Institute, Palo Alto, California;Department of Computer Science, The Queen's University of Belfast, Belfast, Northern Ireland;Department of Computer Science, The Queen's University of Belfast, Belfast, Northern Ireland

  • Venue:
  • IW-FM'98 Proceedings of the 2nd Irish conference on Formal Methods
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

The issue of correctness in the context of a certain style of program transformation is investigated. This style is characterised by the fully automated application of large numbers of simple transformation rules to a representation of a functional program (serving as a specification) to produce an equivalent efficient imperative program. The simplicity of the transformation rules ensures that the proofs of their correctness are straightforward. A selection of transformations appropriate for use in a particular context are shown to preserve program meaning. The transformations convert array operations expressed as the application of a small number of general-purpose functions into applications of a large number of functions which are amenable to efficient implementation on an array processor.