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

11 Citations (Scopus)

Abstract

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)
Pages237-256
Number of pages20
Volume7542 LNCS
DOIs
Publication statusPublished - 03 Jan 2013

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

Cite this