Paraphrasing: generating parallel programs using refactoring

Christopher Mark Brown, Kevin Hammond, Marco Danelutto, Peter Kilpatrick, Holger Schöner, Tino Breddin

Research output: Chapter in Book/Report/Conference proceedingConference contribution

11 Citations (Scopus)
5 Downloads (Pure)


Refactoring is the process of changing the structure of a program without changing its behaviour. Refactoring has so far only really been deployed effectively for sequential programs. However, with the increased 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 design, we refactor a number of examples in C, C++ and Erlang into good parallel implementations, using a set of formal pattern rewrite rules.
Original languageEnglish
Title of host publicationFormal Methods for Components and Objects
Subtitle of host publication10th International Symposium, FMCO 2011, Turin, Italy, October 3-5, 2011, Revised Selected Papers
EditorsBernhard Beckert, Ferruccio Damiani, Frank S. de Boer, Marcello M. Bonsangue
Place of PublicationBerlin, Heidelberg
Number of pages12
ISBN (Electronic)9783642358876
ISBN (Print)9783642358869
Publication statusPublished - 2013
Event10th Symposium on Formal Methods for Components and Objects - Turin, Italy
Duration: 3 Oct 20115 Oct 2011
Conference number: 10

Publication series

NameLecture Notes in Computer Science (Programming and Software Engineering)
ISSN (Print)0302-9743


Conference10th Symposium on Formal Methods for Components and Objects
Abbreviated titleFMCO


Dive into the research topics of 'Paraphrasing: generating parallel programs using refactoring'. Together they form a unique fingerprint.

Cite this