Paraphrasing: Generating parallel programs using refactoring

C. Brown, K. Hammond, M. Danelutto, P. Kilpatrick, H. Schöner, T. Breddin. Paraphrasing: Generating parallel programs using refactoring. volume 7542, pages 237-256, 1, 2013.

  • Christopher Brown
  • Kevin Hammond
  • Marco Danelutto
  • Peter Kilpatrick
  • Holger Schöner
  • Tino Breddin
  • B. Beckert
  • F. Damiani
  • F.S. de Boer
  • M.M. Bonsangue
BuchFormal Methods for Components and Objects - Proc. FMCO 2011
TypIn Konferenzband
SerieLecture Notes in Computer Science
Abstract Refactoring is the process of changing the structure of a pro-gram without changing its behaviour. Refactoring has so far only really been deployed effectively for sequential programs. However, with the in-creased availability of multicore (and, soon, manycore) systems, refactoring can play an important role in helping both expert and non-expert parallel programmers structure and implement their parallel programs. This paper describes the design of a new refactoring tool that is aimed at increasing the programmability of parallel systems. To motivate our de-sign, we refactor a number of examples in C, C++ and Erlang into good parallel implementations, using a set of formal pattern rewrite rules.