C. Brown, K. Hammond, M. Danelutto, P. Kilpatrick, T. Breddin. Paraphrasing: Generating parallel programs using refactoring. volume 7542, pages 237-256, 1, 2013.
- Christopher Brown
- Kevin Hammond
- Marco Danelutto
- Peter Kilpatrick
- Tino Breddin
|Buch||Formal Methods for Components and Objects - Proc. FMCO 2011|
|Serie||Lecture Notes in Computer Science|
||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.