Paraphrasing: Generating parallel programs using refactoring

Chris Brown, K. Hammond, M. Danelutto, P. Kilpatrick, H. Schöner, T. Breddin

Research output: Chapter in Book/Report/Conference proceedingChapter

12 Citations (Scopus)


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: 10th International Symposium, FMCO 2011, Turin, Italy, October 3-5, 2011, Revised Selected Papers (Lecture. / Programming and Software Engineering)
Number of pages20
Volume7542 LNCS
Publication statusPublished - 03 Jan 2013


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

Cite this